在部署中使用kubernets javascript客户端创建作业

时间:2019-11-01 07:14:37

标签: kubernetes google-kubernetes-engine kubernetes-pod

嗨,我创建了一个节点应用,该应用使用kubernetes-client库创建了一个k8作业。然后,该作业应用通过对我的节点应用的http调用进行响应。为了减少网络延迟和时间,我必须将所有内容放入群集中。是否可以在部署内部创建作业?

参考:https://github.com/kubernetes-client

   apiVersion: batch/v1
   kind: Job
   metadata:
     name: job
   spec:
     ttlSecondsAfterFinished: 10
     template:
       spec:
         containers:
         - name: samplejob
           image: gcr.io/hjgfjfhgffghfght
           command: ["node",  "index.js", '{api_url":"apienpoint"}']
           resources:
             limits:
               memory: "128Mi"
               cpu: "100m"
             requests:
               memory: "128Mi"
               cpu: "100m"
         restartPolicy: Never
     backoffLimit: 1

2 个答案:

答案 0 :(得分:2)

这绝对是可能的。这完全取决于您如何创建node.js容器映像。您的应用程序可以作为集群中的部署运行。某些情况将导致应用程序触发事件。该事件将向k8s主服务器发送API调用,以请求创建作业。

您可以使用client libraries之一与k8s主界面进行交互。 node.js库由社区维护。

答案 1 :(得分:0)

您可以为代码构建docker映像,就像可以使用

node server.js 

要触发您的主应用程序并将同一图像放置在Kubernetes作业中,请将其保留在其他目录中,然后使用

执行该图像
command 
作业/ cronjob的yaml模板中的

选项。

这将为您排序