99 views
Kubernetes Healthcare === # Introduction * Pod會透過兩種探針方法去check container的健康狀態 * LivenessProbe: * 會告訴kubelete哪些容器處在不健康的情況,如果他發現不健康就會直接刪除。 * ReadinessProbe: * 用於判斷容器是否啟動完成,且接受連線要求。如果ReadinessProbe連線失敗則會將Pod的狀態做修改。 # Mechanism ## LivenssProbe: * livenessProbe是3個診斷方法 * ExecAction: * 在容器內部執行一個命令,如果該退出狀態碼為0,則表示container healthly. * TCPSocketAction: * 透過container IP和port進行TCP check,如果有通表明container healthly. * HTTPGetAction: * 透過container的IP位址和port利用HTTP Get如果狀態碼大於等於200且小於400則container healthly. * 下面是展示兩種pod檢查容器的方法:HTTP還有容器命令執行檢查 ```shell= libenessProbe: execL command: - cat - /tmp/health initialDelaySecond: 15 timeoutSeconds: 1 ``` ```shell= Kubernetes執行 cat /tmp/health 命令 #如果回傳值是0就是健康狀態 # ``` * Http檢查: ```shell= livenessProbe: httpGet: path: /healthz port: 8080 initialDelaySeconds: 15 timeoutSeconds: 1 ``` ##