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
```
##