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版本:v1.8
- 管理节点:192.168.1.79
- 工作节点:192.168.1.78
- 工作节点:192.168.1.77
创建yaml文件
vim check.yaml
apiVersion: v1kind: Podmetadata: ?name: nginx-pod ?labels: ???app: nginxspec: ?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
Docker Kubernetes 健康检查
原文地址:https://www.cnblogs.com/xiangsikai/p/10012087.html