k8s的pod生命周期
pod的生命周期:
1.init container
2.main contianer
(1) post start hook :容器启动后做什么操作(可以命令查看kubectl explain pod.spec.containers.livesysle)
(2) readiness probe :容器正常工作阶段 (可以命令查看kubectl explain pod.spec.containers.readinessProbe/livenessProbe) (用于存活性探测和就绪性探测)
(2) pre stop hook :容器停止前做什么操作 (可以命令查看kubectl explain pod.spec.containers.livesysle)
例:
在kubectl explain pod.spec.containers.readinessProbe下面的选项解释:
exec (健康状态监测) 以命令方式来检测容器健康监测,注意一定得是容器内包含的镜像所支持的命令才可以。(如:ps,ss,netstat命令检查服务的端口或者反馈来判断容器是否健康)
failureThreshold 多判断几次,连续N次监测不成功才认为真不健康。 (错误阈值)
httpGet (健康状态监测) 例:可以用请求服务,看看是否会有你认为标准的反馈结果,如果正常则可以认为是健康的。
initialDelaySeconds 初始化多久以后再检查,不定义的话,刚启动就检查。
periodSeconds 检查周期,隔多长时间监测一次。
successThreshold 多判断几次,连续N次监测成功才认为是健康的。 (成功阈值)
tcpSocket (健康状态监测) 探测服务所监听的某一端口是否可以响应,若能响应,则认为健康。
timeoutSeconds 当检查时对方没响应,我们最多等待多长时间后就认为是监测失败。
健康状态监测和就绪状态监测区别:健康监测有权重启容器,就绪监测无权重启容器。
pod对象的相位:
pod对象总是应该处于其生命进程中的一下几个相位(phase)之一
1.pending:apiserver创建了pod资源对象并已存入etcd中,但尚未被调度完成,或仍处于从仓库下载镜像的过程中。
2.running: pod 已经被调度到某节点,并且所有容器都已经被kubelet创建完成。
3.succeeded:pod中的所有容器都已经成功终止并且不会被重启;
4.failed:所有容器都已经终止,但至少有一个容器终止失败,即容器返回了非0值的推出状态或已经被系统终止。
5.unknown:apiserver无法正常获取到pod对象的状态信息,通常是由于其无法与所在工作节点的kubelet通信所致。
k8s的pod生命周期的更多相关文章
- k8s学习-pod生命周期
4.2.pod生命周期 创建一个pod的时候过程如下: 1.容器环境初始化: 2.pause执行网络.容器卷等初始化工作: 3.所有的InitC按顺序执行,每个InitC执行完后才能执行下一个,且必须 ...
- 2.k8s.Pod生命周期,健康检查
#Pod生命周期,健康检查 pod创建过程 Init容器 就绪探测 存活探测 生命周期钩子 #Pod创建过程 master节点:kubectl -> kube-api -> kubenle ...
- Kubernetes Pod 生命周期
一. Pod Hook Kubernetes 为我们提供了生命周期钩子,就是我们所说的Pod Hook,Pod Hook是由kubelet发起的,当容器中的进程启动前或者容器中的进程终止之前运行.这是 ...
- 容器编排系统之Pod生命周期、健康/就绪状态探测以及资源限制
前文我们了解了在k8s上的资源标签.标签选择器以及资源注解相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14141080.html:今天我们来聊下k8 ...
- pod生命周期
Pod生命周期 我们一般将pod对象从创建至终这段时间范围成为pod的生命周期,它主要包含以下的过程: pod创建过程 运行初始化容器(init container)过程 运行主容器(main con ...
- Kubernetes1.3:POD生命周期管理
转:http://blog.csdn.net/horsefoot/article/details/52324830 (一) 核心概念 Pod是kubernetes中的核心概念,kubernetes对 ...
- Pod生命周期和健康检查
Pod生命周期和健康检查 Pod的生命周期涵盖了前面所说的PostStart 和 PreStop在内 Pod phase Pod的status定义在 PodStatus对象中,其中有一个phase字段 ...
- 【三】Kubernetes学习笔记-Pod 生命周期与 Init C 介绍
一.容器生命周期 Init C(初始化容器)只是用于 Pod 初始化的,不会一直随着 Pod 生命周期存在,Init C 在初始化完成之后就会死亡. 一个 Pod 可以有多个 Init C,也可以不需 ...
- Pod 生命周期和重启策略
Pod 在整个生命周期中被系统定义为各种状态,熟悉 Pod 的各种状态对于理解如何设置 Pod 的调度策略.重启策略是很有必要的. Pod 的状态 状态值 描述 Pending API Server ...
随机推荐
- eclipse svn 忽略target .project .classpath等目录文件
这个build失败的解决方案就是不要把你项目的 target目录放在src repository 里面,还有 .project 和 .classpath 最好也别放到src repository 里. ...
- python进阶07 MySQL
python进阶07 MySQL 一.MySQL基本结构 1.认识MySQL #MySQL不是数据库,它是数据库管理软件 #MySQL如何组织数据 #如何进入MySQL数据库 #其他注意事项 #以表格 ...
- 040 Combination Sum II 组合总和 II
给定候选号码数组 (C) 和目标总和数 (T),找出 C 中候选号码总和为 T 的所有唯一组合.C 中的每个数字只能在组合中使用一次.注意: 所有数字(包括目标)都是正整数. 解决方案集不 ...
- 解决win10下python3和python2共存pip的问题
经过在查阅网友的各种经验,发现仍然解决不了问题,python2和python3在win10下的安装就不再演示了,直接在python的官网下载就好,我机器上使用的是python2.7.15和python ...
- Hybrid app(cordova) 环境配置记录
node版本管理 NVM 安装过程 由于最新版 node 不兼容部分功能,所以需要安装 nvm 切换 node 版本 在 https://github.com/coreybutler/nvm-wind ...
- UITableView 的一些奇淫技巧1
http://www.strongx.cn/ 感谢这位老兄 UITableView是工程开发中最经常使用到的UI控件,但是你真的了解它嘛,这里记录几点有用的但你可能并不知道的. 当我们的数据未能显示 ...
- springIOC+Mysql+springmvc事务测试题总结
1.关于http1.1和1.0的长连接和短连接 两个都支持长连接和短连接 http1.0默认为短连接,也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接 http1.1 ...
- VirtualBox中出现UUID have already exists ,并且数字键盘numlock效果相反
原文地址:https://www.cnblogs.com/xqzt/p/5053338.html 原因:由于linux密码登录错误,修改也报错误,所以只能重新安装虚拟机并在其中安装镜像文件,但是安装镜 ...
- jQuery动态追加移除CSS样式
jQuery基础知识,动态添加删除CSS样式 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- 【extjs6学习笔记】1.2 初始:MVC MVVM
模型 这表示数据层.该模型可以包含数据验证和逻辑来保持数据.在 ext js 中, 大多数模型都与一个数据存储一起使用. 视图 这表示用户界面. 是用户在屏幕上看到的组件. 在每次互动的用户与应用程序 ...