在 k8s 中容器进程被杀死时不要重启 pod

问题描述 投票:0回答:0

我有一个 k8s pod 运行一个 docker 容器,其中包含以下 docker 文件代码片段

  WORKDIR /opt/e2/
  ENV LD_LIBRARY_PATH=/usr/local/lib
  RUN chmod +x /opt/e2/startup.sh /opt/e2/rmr_probe
  EXPOSE 38000
  
  CMD ["sh", "-c", "./startup.sh"]

如下所示在 pod 中创建一个进程

root@e2term-alpha:/opt/e2# ps -eaf
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 21:30 pts/0    00:00:00 sh -c ./startup.sh
root           7       1  0 21:30 pts/0    00:00:00 /bin/bash ./startup.sh
root          23       7  0 21:30 pts/0    00:00:00 ./e2 -p config -f config.conf
root          32       0  0 21:37 pts/1    00:00:00 /bin/bash
root          41      32  0 21:37 pts/1    00:00:00 ps -eaf
root@e2term-alpha:/opt/e2#

一旦我登录到 pod (kubeclt exec) 并终止进程 ./e2,我的 pod 就会重新启动。我希望我的 pod 在这种情况下不应该启动,这样我就可以手动运行该过程,也可以收集一些日志。我怎样才能做到这一点? yaml 或 helm 图表需要任何配置吗?

kubernetes kubernetes-helm
© www.soinside.com 2019 - 2024. All rights reserved.