Docker 如何在kubernetes PHP pods中运行cronjobs?
我有Kubernetes复制控制器,它运行2个PHP应用程序包。现在,我需要安排3个cronjobs,在这些pod中运行一些PHP脚本。我怎样才能做到呢?(容器的基本映像是centos:7)。如评论中所述,您最好的选择是创建 如果您不想公开PHP函数,您可以始终使用一个容器来执行PHP pod中的命令 下面是一个创建cronjob的示例。这个cronjob为标签为app=myphp的每个pod运行kubectl exec,并在每个pod中调用lsDocker 如何在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
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格式错误”。但是,当我进入容器时,我能够执行脚本。