LivenessProbe:用於判斷容器是否存活(running狀態),如果LivenessProbe探針探測到容器不健康,則kubelet殺掉該容器,並根據容器的重啟策略做相應的處理。如果一個容器不包含LivenessProbe探針,則kubelet認為該容器的LivenessProbe探針返回的值永遠是“Success”。
ReadinessProbe:用於判斷容器是否啟動完成(ready狀態),可以接收請求。如果ReadinessProbe探針檢測到失敗,則Pod的狀態被修改。Endpoint Controller將從Service的Endpoint中刪除包含該容器所在Pod的Endpoint。
LivenessProbe三種實現方式:
1.HTTP GET探針對容器的ip地址(指定端口和路徑)執行HTTP GET請求。響應狀態碼是2xx或3xx則探測成功。
2.TCP套接字探針嘗試建立TCP連接,成功建立則成功。
3.Exec探針,在容器內執行任意命令,檢測命令的退出狀態碼,是0則成功,其他失敗。
spec:
containers:
livenessProbe:
httpGet:
path: /
port: 8080