栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Pod探针及状态

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pod探针及状态

Pod 探针 Pod探针分类

StartupProbe:k8s1.16版本后新加的探测方式,用于判断容器内应用程序是否已经启动。如果配置了startupProbe,就会先禁止其他的探测,直到它成功为止,成功后将不在进行探测。

LivenessProbe(存活探针):用于探测容器是否运行,如果探测失败,kubelet会根据配置的重启策略进行相应的处理。若没有配置该探针,默认就是success。

存活性探测,判断pod是否需要重启。

ReadinessProbe(就绪探针):一般用于探测容器内的程序是否健康,它的返回值如果为success,那么就代表这个容器已经完成启动,并且程序已经是可以接受流量的状态。

就绪性探测,判断pod是否能够提供正常服务。

Pod探针的检测方式

ExecAction:在容器内执行一个命令,如果返回值为0,则认为容器健康。

TCPSocketAction:通过TCP连接检查容器内的端口是否是通的,如果是通的就认为容器健康。

HTTPGetAction:通过应用程序暴露的API地址来检查程序是否是正常的,如果状态码为200~400之间,则认为容器健康。

查看coredns的yaml文件

[root@master01 ~]# kubectl edit deployment coredns -n kube-system

livenessProbe:

     failureThreshold: 5     #检测失败5次表示未就绪

      httpGet:                      #通过httpget检查健康,返回200-399之间,则认为容器正常

      path: /health       #URI地址

      port: 8080         #端口号

      scheme: HTTP        #支持的协议http或者https

     initialDelaySeconds: 60  #pod初始化时间

     periodSeconds: 10      #pod检测间隔时间

     successThreshold: 1    #检测成功为1表示就绪

     timeoutSeconds: 5     #检测超时时间

每次检查的间隔是10秒,最长超时时间是5秒,也就是单次检查应该是10 + 5 = 15秒(periodSeconds + timeoutSeconds),并不是10 * 5 所以最长的重启时间为(10 + 5)* 5

操作步骤

1. 修改pod.yaml文件,增加startupProbe字段
2. kubectl create -f pod.yaml -n dgf     #创建Pod 
3. kubectl describe pod nginx -n dgf |tail -1  #查看pod日志

startupProbe、livenessProbe、ReadinessProbe之间的区别:

startupProbe: pod只检测一次,剩下的两种只要你的pod存在就会一直去检测

livenessProbe、ReadinessProbe:建议使用接口级的健康检查

Pod退出流程

用户执行删除操作

[root@master01 ~]# kubectl delete pod nginx -n dgf

Pod状态会变成Terminating状态(这种状态停留时间默认30秒)

在30秒期间,会从Endpoint中删除该Pod的IP地址

最后执行yaml文件中PreStop中的指令

Pod的状态
  • Pending:正在创建的Pod,但是Pod中的容器还没有完全被创建完成,这其中包含集群为容器创建网络,或者下载镜像的过程

  • Running:Pod内所有的容器都已经被创建,且至少一个容器正在处于运行状态、正在启动状态或者重启状态

  • Successed:Pod中所有容器都执行成功后退出,并且没有处于重启的容器

  • Faild:Pod中所有容器都已退出,但是至少还有一个容器退出时为失败状态

  • Unknow:由于一些原因,Pod的状态无法获取,通常是与Pod通信时错误导致的

Pod重启策略
  • Always:只要容器失效退出就重启容器

  • onFailure:当容器以非正常退出后重新启动容器

  • Never:无论容器状态如何,都不重新启动容器

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/345561.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号