關于PreStop掛鉤的 Kubernetes 檔案宣告如下:
PreStop 掛鉤不會從停止容器的信號異步執行;在發送 TERM 信號之前,鉤子必須完成它的執行。
但是,它沒有說明 pod 中的其他容器。假設terminationGracePeriodSeconds還沒有通過。
PreStop在每個容器的掛鉤完成之前,是否保護 pod 中的所有容器不會終止?還是每個 PreStop 掛鉤只保護自己的容器?
uj5u.com熱心網友回復:
我相信preStop鉤子只保護它宣告的容器。
例如,在以下設定中:
apiVersion: v1
kind: Pod
metadata:
name: lifecycle-demo
spec:
containers:
- name: lifecycle-demo-container
image: nginx
lifecycle:
preStop:
exec:
command: ["/bin/sh","-c","sleep 15"]
- name: other-container
image: mysql
env:
- name: MYSQL_ALLOW_EMPTY_PASSWORD
value: "true"
preStop如果我終止 pod,mysql 收到 SIGTERM 并立即關閉,而 nginx 容器由于它的鉤子而保持額外的 15 秒
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/537961.html
上一篇:為什么在使用dockerrun(image)時我的dockerimage沒有運行,但我可以運行docker-composeup生成的容器?
下一篇:如何優化入口yaml檔案
