K8S资源清单---探针/控制器说明

学习目标:

  1. 了解探针和探测容器的方式
  2. Pod的状态值
  3. Pod分类及控制器说明

学习内容:

容器探针

探针是由kubelet对容器执行的定期诊断,kubelet调用由容器实现的Handler,有三种类型的处理程序:

  1. ExecAction:在容器内执行指定命令,如果命令退出时返回码为0,则认为诊断成功
  2. TCPSocketAction:对指定端口上的容器的ip地址进行TCP检查,如果端口打开,则诊断被认为是成功的
  3. HTTPGetAction:对指定的端口和路径上的容器的ip地址进行HTTP Get请求,如果响应的状态码大于等于200且小于400,则诊断被认为是成功的

备注:每次探测都将获得以下三种结果之一

  1. 成功:容器通过了诊断
  2. 失败:容器未通过诊断
  3. 未知:诊断失败,因此不会采取任何行动

探测方式

  • livenessProbe:指示容器是否正常运行,如果存活探测失败,则kubelet会杀死容器,并且容器将收到重启策略的影响,如果容器不提供存活探针,则默认状态为Success
  • readinessProbe:指示容器是否准备准备好接受服务请求,如果就绪探测失败,端点控制器将从与Pod匹配的所有Service的端点中删除该Pod的ip地址,初始延迟之前的就绪状态默认为Failure,如果容器不提供就绪探针,则默认状态为Success

Pod phase可能存在的值

  • 挂起(Pending):Pod已经被kubernetes系统接受,但有一个或多个容器镜像尚未创建,等待时间包括调度Pod的时间和通过网络下载镜像的时间,这可能需要花点时间
  • 运行中(running):该Pod已经绑定到一个节点上,Pod中所有的容器已经被创建,至少有一个容器正在运行,或者正处于启动或重启状态
  • 成功(Succeeded):Pod中所有容器都被成功终止,并且不会再重启
  • 失败(Failed):Pod中所有容器都已终止了,并且至少有一个容器是因为失败终止,也就是说,容器以非0状态退出或被系统终止
  • 未知(Unknown):因为某些原因无法取得Pod的状态,通常是因为与Pod所在主机通信失败

Pod的分类

在这里插入图片描述

  • 自主式Pod:Pod退出了,此类型的Pod不会被创建
  • 控制器管理的Pod:在控制器的生命周期里,始终要维持Pod的副本数目

说明:

  1. RC和RS:RC用来确保容器应用的副本数目始终保持在用户定义的数目,即容器异常退出,会自动创建新的Pod来代替,而如果异常多出的容器会回收;新版本K8S的RS取代了RC,并且RS支持集合试Selector,即标签labels。

  2. Deployment:为Pod和RS提供了一个声明式定义方法,用来替代以前的RC来方便管理应用,典型场景包括:

    定义Deployment来创建Pod和RS
    滚动升级和回滚应用
    扩容和缩容
    暂停和继续Deployment
    
  3. DaemonSet:确保全部或一些Node上运行一个Pod副本,当有Node加入集群时,也会为他们新增一个Pod,当有Node从集群移除时,这些Pod也会被回收,删除DaemonSet将会删除它创建的所有Pod,典型场景:

    运行集群存储daemon
    在每个Node上运行日志收集daemon
    在每个Node上运行监控daemon
    
  4. Job:负责批处理任务,即执行一次的任务,它保证批处理的一个或多个Pod成功结束

  5. CronJob:基于时间管理的Job,即在给定时间内只运行一次,周期性的给定时间点运行,典型场景:

    数据库备份
    发送邮件
    
  6. StatefulSet:作为controller为Pod提供唯一的标识,保证部署和scale的顺序,解决有状态服务的问题(对应Deployments和RS是为无状态服务而设计)典型场景:

    稳定的持久化存储,即Pod重新调度后还是能访问到相同的持久化数据,基于PVC实现
    稳定的网络标识,即Pod重新调度后PodName和HostName不变,基于Headless service(即没有Cluster IP的service)来实现
    有序部署,扩展,即Pod是有顺序的,在部署或者扩展是要依据定义的顺序依次进行(即从0到N-1),在下一个Pod运行之前所有之前的Pod必须都是Running状态,基于init containers来实现
    有序收缩,有序删除(即从N-1到0)
    
  7. HPA(Horizontal Pod Autoscaling):使Pod水平自动缩放

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值