docker - 我如何在kubernetes PHP pod中运行cronjobs?

标签 docker kubernetes containers centos7 google-kubernetes-engine

我有运行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/

相关文章:

python - 在 AKS 上部署 python docker 镜像会出现 "exec/usr/bin/sh: exec format error"

wordpress - Kubernetes 代理根据请求路径将流量路由到不同的子服务

git - 在 docker 容器中挂载目录并运行 Gradle 命令

javascript - 使用端口转发运行容器时,无法从 node.js 代码获取 docker 容器的 IP 地址

go - 在容器中或不在容器中部署具有微服务架构的 Go 应用程序?

kubernetes - 我的 initContainers 的 "alpine"图像有问题

c++ - 存储桶键值映射?

c++ - 在 vector 的排序 vector 中查找特定值的索引范围

docker - 在minikube中使用本地docker镜像

macos - 带有 Grunt 文件监视的 Docker 卷