Docker Kubernetes 健康檢查
阿新 • • 發佈:2018-11-24
如果 dex lap display ima spl sock port nta
Docker Kubernetes 健康檢查
提供Probe探測機制,有以下兩種類型:
- livenessProbe:如果檢查失敗,將殺死容器,然後根據Pod的重啟策略來決定是否重啟。
- readinessProbe:如果檢查失敗,Kubernetes會把Pod從服務代理的分發後端剔除。
Probe支持以下三種檢查方法:
- httpGet
- 發送HTTP請求,返回200-400範圍狀態碼為成功。
- exec
- 執行Shell命令返回狀態碼是0為成功。
- tcpSocket
- 發起TCP Socket建立成功。
環境:
- 系統:Centos 7.4 x64
- Docker版本:18.09.0
- Kubernetes版本:
- 管理節點:192.168.1.79
- 工作節點:192.168.1.78
- 工作節點:192.168.1.77
創建yaml文件
vim check.yaml
apiVersion: v1 kind: Pod metadata: name: nginx-pod labels: app: nginx spec: containers: - name: nginx image: nginx:1.10 ports: - containerPort: 80 livenessProbe: httpGet: path:/index.html port: 80
# api版本 apiVersion: v1 # 指定創建資源對象 kind: Pod # 源數據、可以寫name,命名空間,對象標簽 metadata: # 服務名稱 name: nginx-pod # 標簽 labels: # 標簽名 app: nginx # 容器資源信息 spec: # 容器管理 containers: # 容器名稱 - name: nginx # 容器鏡像 image: nginx:1.10 # 端口管理 ports: # 指定暴露端口 - containerPort: 80 #文件註釋健康檢查模式(httpGet、exec、tcpSocket) livenessProbe: # 選擇健康檢查類型 httpGet: # 選擇檢查文件 path: /index.html # 選擇檢查暴露端口 port: 80
創建Pod
kubectl create -f check.yaml
命令:kubectl describe pods nginx-pod # 探測端口為80,探測文件名index.html,timeout超市時間為一秒,period每10秒探測一次 Liveness: http-get http://:80/index.html delay=0s timeout=1s period=10s #success=1 #failure=3查看健康檢查pod狀態
Docker Kubernetes 健康檢查