Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 如何在kubernetes PHP pods中运行cronjobs?_Docker_Kubernetes_Containers_Centos7_Google Kubernetes Engine - Fatal编程技术网

Docker 如何在kubernetes PHP pods中运行cronjobs?

Docker 如何在kubernetes PHP pods中运行cronjobs?,docker,kubernetes,containers,centos7,google-kubernetes-engine,Docker,Kubernetes,Containers,Centos7,Google Kubernetes Engine,我有Kubernetes复制控制器,它运行2个PHP应用程序包。现在,我需要安排3个cronjobs,在这些pod中运行一些PHP脚本。我怎样才能做到呢?(容器的基本映像是centos:7)。如评论中所述,您最好的选择是创建 如果您不想公开PHP函数,您可以始终使用一个容器来执行PHP pod中的命令 下面是一个创建cronjob的示例。这个cronjob为标签为app=myphp的每个pod运行kubectl exec,并在每个pod中调用ls apiVersion: batch/v1be

我有Kubernetes复制控制器,它运行2个PHP应用程序包。现在,我需要安排3个cronjobs,在这些pod中运行一些PHP脚本。我怎样才能做到呢?(容器的基本映像是centos:7)。

如评论中所述,您最好的选择是创建

如果您不想公开PHP函数,您可以始终使用一个容器来执行PHP pod中的命令

下面是一个创建cronjob的示例。这个cronjob为标签为app=myphp的每个pod运行kubectl exec,并在每个pod中调用ls

  apiVersion: batch/v1beta1
  kind: CronJob
  metadata:
    name: hello-cron
  spec:
    schedule: "*/1 * * * *"
    jobTemplate:
      spec:
        template:
          spec:
            containers:
            - name: kubectl
              image: lachlanevenson/k8s-kubectl
              command:
                - /bin/sh
                - -c
              args: 
                - kubectl get pod -l app=my-php -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}' | xargs -i kubectl exec {} ls
            restartPolicy: Never

你检查了吗?但是,据我所知,它会为运行计划作业创建单独的pod。但是,我如何将cronjob链接到我的应用程序pod,以便它可以运行我的应用程序pod的脚本呢?您的corn作业可以调用集群内的(由服务公开的)。还有其他方法-但我想这是最简单的一个MyApp.default是podname.namespace?是的-嗨。非常感谢你的回答。上面的脚本适用于操作系统提供的命令。但是,当我尝试执行我的脚本时,我得到了“rpc错误:code=2 desc=oci运行时错误:exec失败:container\u linux.go:247:启动容器进程导致:exec格式错误”。但是,当我进入容器时,我能够执行脚本。