我有运行2个PHP applicaton的Kubernetes复制 Controller 。现在,我需要安排3个cronjobs,它们在这些pod中运行一些PHP脚本。我该如何实现? (容器的基本镜像是centos:7)。
最佳答案
如评论中所述,最好的选择是创建Kubernetes CronJobs。
如果您不想公开PHP函数,则始终可以使用在PHP容器中执行命令的容器。
这是一个创建cronjob的示例。这个cronjob为带有标签app = my-php的每个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
关于docker - 我如何在kubernetes PHP pod中运行cronjobs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50470610/