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

Using Kubernetes javascript client inside a deployment to create a job

您好,我创建了一个节点应用程序,它使用 kubernetes-client 库创建了一个 k8s 作业。然后该作业应用程序通过对我的节点应用程序的 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

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

node server.js 

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

command 

job/cronjob.

的 yaml 模板中的选项

这将为您排序

这绝对有可能。这完全取决于您如何创建 node.js 容器映像。您的应用程序可以 运行 作为集群内的部署。某些东西会导致应用程序触发事件。该事件将向 k8s master 发送 API 调用以请求创建作业。

您可以使用 client libraries 之一与 k8s master 交互。 node.js 库由社区维护。