K8S探针
https://blog.csdn.net/weixin_28820113/article/details/148380309
HTTP探测实战(最常用)
向容器发送 HTTP 请求,若返回状态码为 200-399,则表示检查成功
[root@master ~/probe]# cat readiness.yaml kind: Pod apiVersion: v1 metadata: name: nginx labels: app: nginx spec: containers: - name: nginx image: nginx readinessProbe: httpGet: # http请求的端口 port: 80 # http请求的路径 path: / # http请求的主机 # host: 127.0.0.1 # 请求方式 scheme: HTTP # 超时时间,指定5秒 timeoutSeconds: 5 # 探针检查成功后,需要连续3次检查失败才认为容器出现问题 failureThreshold: 3 # 探针检查失败后,需要连续1次检查成功才认为容器恢复正常 successThreshold: 1 # 探针检查的执行间隔时间,指定3秒 periodSeconds: 3 # 容器启动后等待15秒再开始执行探针检查 initialDelaySeconds: 15 [root@master ~/probe]# kubectl apply -f readiness.yaml pod/nginx created
创建service
[root@master ~/probe]# cat service.yaml apiVersion: v1 kind: Service metadata: name: nginx-service spec: type: ClusterIP selector: # 选择标签为 app: nginx 的 Pod app: nginx ports: - name: http protocol: TCP # Service的端口 port: 80 # Pod 上的端口 targetPort: 80 [root@master ~/probe]# kubectl apply -f service.yaml service/nginx-service created
检查Pod、Service、EndPoint资源,发现EndPoint关联的是Pod的IP,符合预期
[root@master ~/probe]# kubectl get po,svc,ep -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES pod/nginx 1/1 Running 0 4m2s 100.95.185.232 node02 <none> <none> NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR service/nginx-service ClusterIP 10.96.1.43 <none> 80/TCP 112s app=nginx NAME ENDPOINTS AGE endpoints/nginx-service 100.95.185.232:80 112s