标签:容器 k8s 10 探针 探测 诊断 kubelet startupProbe
探针是由kubelet对容器执行的定期诊断。要执行诊断,kubelet调用由容器实现的Handler。有三类处理程序:
- ExecAction:在容器内执行指定命令。如果命令退出时返回码为0认为诊断成功。
- TCPSocketAction:对指定的容器ip:端口号进行TCP检查。如果端口打开则诊断成功。
- HTTPGetAction:对指定的容器ip:端口号/路径执行HTTP Get请求。如果状态码大于等于200且小于400,诊断成功。
探测结果:
- 成功:
- 失败:
- 未知:诊断失败,不会采取任何行动
探测种类:
- livenessProbe:存活检测。探测失败,kubelet会杀死容器,且容器服从其重启策略。不设该字段,默认Success
- readinessProbe:就绪探测。探测失败,端点控制器将从与pod匹配的所有svc端点中删除pod的ip地址。
- startupProbe:探测容器内应用是否已启动。如果启用startupProbe,则禁用其他探测,知道它成功为止。探测失败,kubelet将杀死容器,容器服从重启策略
readinessProbe:
apiVersion: v1 kind: Pod metadata: name: readiness-httpget-pod namespace: default spec: containers: - name: readiness-httpget-container image: nginx imagePullPolicy: IfNotPresent readinessProbe: httpGet: port: 80 path: /index1.html initialDelaySecods: 1 periodSeconds: 3
startupProbe:
livenessProbe: httpGet: path: /test port: 80 failureThreshold: 1 initialDelay: 10 periodSeconds: 10 startupProbe: httpGet: path: /test port: 80 failureThreshold: 10 initialDelay: 10 periodSeconds: 10
//只有startupProbe探测成功后才会交给livenessProbe。 startupProbe配置的是10*10s,所以只要应用在100s内启动都是OK的,而应用挂掉10s就会发现问题。
标签:容器,k8s,10,探针,探测,诊断,kubelet,startupProbe 来源: https://www.cnblogs.com/Bruce-Y/p/15409921.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。