探針是由kubelet對容器執行的定期診斷。要執行診斷,kubelet調用由容器實作的Handler。有三類處理程式:
ExecAction:在容器内執行指定指令。如果指令退出時傳回碼為0認為診斷成功。
TCPSocketAction:對指定的容器ip:端口号進行TCP檢查。如果端口打開則診斷成功。
HTTPGetAction:對指定的容器ip:端口号/路徑執行HTTP Get請求。如果狀态碼大于等于200且小于400,診斷成功。
探測結果:
成功:
失敗:
未知:診斷失敗,不會采取任何行動
探測種類:
livenessProbe:存活檢測。探測失敗,kubelet會殺死容器,且容器服從其重新開機政策。不設該字段,預設Success
readinessProbe:就緒探測。探測失敗,端點控制器将從與pod比對的所有svc端點中删除pod的ip位址。
startupProbe:探測容器内應用是否已啟動。如果啟用startupProbe,則禁用其他探測,知道它成功為止。探測失敗,kubelet将殺死容器,容器服從重新開機政策
readinessProbe:
startupProbe:
//隻有startupProbe探測成功後才會交給livenessProbe。 startupProbe配置的是10*10s,是以隻要應用在100s内啟動都是OK的,而應用挂掉10s就會發現問題。