我想知道是否有任何解决方案,以便向kubernetes集群提交flink作业。在启动后的jobmanager部署文件中,我试图向jobmanager pod添加一个命令选项,但我意识到传递的命令覆盖了映像入口点。所以我想知道有没有解决办法?
0g0grzrc1#
不具体。真的,这取决于你的申请。kubernetes唯一能控制的是容器中运行的初始命令是什么,并且只能有其中一个。
lfapxunr2#
是的,如果你提供 command 和/或其 args ,它将覆盖原始图像的 Entrypoint 和/或 Cmd . 如果你想知道它到底是怎么发生的,请参考Kubernetes官方文件的这个片段。如果您想运行一些额外的命令后,立即在您的 Pod 创业,你可以用 postStart 处理程序,其用法在此示例中显示:
command
args
Entrypoint
Cmd
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"]
2条答案
按热度按时间0g0grzrc1#
不具体。真的,这取决于你的申请。kubernetes唯一能控制的是容器中运行的初始命令是什么,并且只能有其中一个。
lfapxunr2#
是的,如果你提供
command
和/或其args
,它将覆盖原始图像的Entrypoint
和/或Cmd
. 如果你想知道它到底是怎么发生的,请参考Kubernetes官方文件的这个片段。如果您想运行一些额外的命令后,立即在您的
Pod
创业,你可以用postStart
处理程序,其用法在此示例中显示: