在pod启动后执行命令,而不覆盖映像入口点

x33g5p2x  于 2021-07-15  发布在  Flink
关注(0)|答案(2)|浏览(382)

我想知道是否有任何解决方案,以便向kubernetes集群提交flink作业。
在启动后的jobmanager部署文件中,我试图向jobmanager pod添加一个命令选项,但我意识到传递的命令覆盖了映像入口点。
所以我想知道有没有解决办法?

0g0grzrc

0g0grzrc1#

不具体。真的,这取决于你的申请。kubernetes唯一能控制的是容器中运行的初始命令是什么,并且只能有其中一个。

lfapxunr

lfapxunr2#

是的,如果你提供 command 和/或其 args ,它将覆盖原始图像的 Entrypoint 和/或 Cmd . 如果你想知道它到底是怎么发生的,请参考Kubernetes官方文件的这个片段。
如果您想运行一些额外的命令后,立即在您的 Pod 创业,你可以用 postStart 处理程序,其用法在此示例中显示:

apiVersion: v1
kind: Pod
metadata:
  name: lifecycle-demo
spec:
  containers:
  - name: lifecycle-demo-container
    image: nginx
    lifecycle:
      postStart:
        exec:
          command: ["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]
      preStop:
        exec:
          command: ["/bin/sh","-c","nginx -s quit; while killall -0 nginx; do sleep 1; done"]

相关问题