Pod生命周期


2021年3月22日 14:37     admin

Pod的状态

Pod的重启

  1. #配置文件中的restartPolicy
  2. restartPolicy: [Always | Never | OnFailure]
  3. Always: 一旦终止运行,都将重启
  4. Never: 终止后kubelet将报告给master,不会重启
  5. OnFailure: 只有Pod以非零退出码终止时,kubelet才会重启该容器。如果容器正常终止(退出码为0),则不会重启

Pod的生命周期事件

postStart

  1. 容器刚刚创建成功后,触发事件,执行回调。
  2. PS:如果回调中的操作执行失败,则该容器会被终止,并根据该容器的重启策略决定是否重启容器

preStop

  1. 容器被终止前,触发事件,执行回调。

回调方式:

  1. 1.Exec: 回调会执行特定的命令或操作。
  2. 2.HttpGet:回调会执行特定的HttpGet请求,通过返回的HTTP状态码判断该请求执行是否成功。

事件配置

  1. aplVersion: v1
  2. kind:Pod
  3. metadata:
  4. name:test
  5. spec:
  6. name:test
  7. image:busybox
  8. imagePullPolicy: IfNotPresent
  9. command:['sh','-c']
  10. args:['echo "hello world!";sleep 3600']
  11. liofecycle:
  12. postStart:
  13. httpGet:
  14. host:www.baidu.com
  15. path:/
  16. port:80
  17. scheme:HTTP
  18. preStop:
  19. exec:
  20. command:['sh','-c','echo "hello";sleep 60']