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 ...
随机推荐
- C语言实现折半插入算法
#include <stdio.h> int BInsertSort(int array[],int left,int right){ //接收主函数调用语句中的实参传到这里的形参里 in ...
- CC18:二叉树平衡检查
题目 实现一个函数,检查二叉树是否平衡,平衡的定义如下,对于树中的任意一个结点,其两颗子树的高度差不超过1. 给定指向树根结点的指针TreeNode* root,请返回一个bool,代表这棵树是否平衡 ...
- swift3.0 项目引导页
项目引导页并不难,使用 UICollectionView就可以完成, 1.首先获取应用程序的版本号,并存入本地,每次有新版本号,和存入本地的版本号,相比较 fileprivate func setup ...
- vue-cli3项目优化首页加载过慢的一些心得
博主最近发现vue-cli3项目做完后,点击首页加载时间好久啊,一般都要3-5s.这样的加载时间博主自己都受不了,所以就有了这个随笔,将自己的一些研究心得分享给大家. 首先推荐大家下载一个webpac ...
- mkcert本地 HTTPS 加密证书生成工具
软件介绍: mkcert 是一个生成本地 HTTPS 加密证书的工具,一个命令就可以生成证书,不需要任何配置. 下载地址: https://github.com/FiloSottile/mkcert/ ...
- Flash图表控件FusionCharts如何高亮显示数据
使用Flash图表控件FusionCharts时,通过改变alpha值是高亮显示数据的最简单方式. XML代码如下: <chart> <set label='John' value= ...
- MySQL-基本概念
一.Mysql逻辑架构 引用自<高性能Mysql> 二.并发控制 读写锁:读锁是共享的,写锁是排他的,会阻塞其他的写锁和读锁. 锁粒度:表锁.行级锁 三.事务 事务(ACID特性):原子性 ...
- gitinore修改不生效
.gitignore只能忽略那些尚未被被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的.一个简单的解决方法就是先把本地缓存删除(改变成未track状态),然后 ...
- django之基于cookie和装饰器实现用户认证
示例1 # Create your views here. user = "a" pwd = "a" def login(request): if reques ...
- Linux Centos7.2 编译安装PHP7.0.2
操作环境: 1.系统:Centos7.2 2.服务:Nginx 1.下载PHP7.0.2的安装包解压,编译,安装: $ cd /usr/src/ $ wget http://cn2.php.net/d ...