




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目4探测Pod健康性教材目录CONTENTS任务1使用livenessProbe探测Pod任务2使用readinessprobe探测pod任务1使用livenessProbe探测Pod4.1.1理解探针作用探用解作理的针
现代一些分布式系统中,用户访问的不再是单台主机,而是一个由成百上千台实例组成的集群,用户请求通过负载均衡器分发到不同的实例,负载均衡帮助解决单台服务器的访问压力,同时提高了系统的高可用性,而健康检查常常作为当前实例是否“可用”的判断标准,如果系统发现某台实例健康检查不通过,负载均衡器将不会把流量导向该实例。
1.检查pod健康的必要性ExecHttpGet4.1.1理解探针作用
2.livenessProbe探针
livenessProbe探针是为了查看容器是否正在运行,是让Kubernetes知道你的应用是否活着,如果你的应用还活着,那么Kubernetes就让它继续存在。如果你的应用程序已经停止运行了,Kubernetes将移除Pod并重新启动一个来替换它,livenessProbe探针的探测方式有3种,分别是执行命令Exec探测、HttpGet探测、TcpSocket探测。TcpSocket探测方式1.查看livenessProbe字段使用kubectlexplain检查linenessProbe探针的字段,命令如下:通过此命令的结果可以发现,livenessProbe的几个重要子字段是exec、httpGet、tcpSocket、failureThreshold、initialDelaySeconds、periodSeconds、successThreshold、、timeoutSeconds,其中exec、httpGet、tcpSocket是检测容器的三种方式。其它几个字段的含义如下:(1)initialDelaySeconds
容器启动后第一次执行探测是需要等待多少秒。(2)periodSeconds
执行探测的频率,默认是10秒。(3)timeoutSeconds
探测超时时间,默认1秒。(4)successThreshold
探测失败后,最少连续探测成功多少次才被认定为成功,默认是1。(5)failureThreshold
探测成功后,最少连续探测失败多少次才被认定为失败,默认是3。[root@master~]#kubectlexplainpod.spec.containers.livenessProbe4.1.2使用Exec执行命令探测2.编写livenessProbe探测脚本
定义了一个Pod,当容器启动时,执行使用Shell脚本命令,首先建立/tmp/test,过20秒后,删除这个文件,休眠容器3600秒,目的是保持容器处于运行状态。
然后定义了一个livenessProbe存活性探针,在容器启动1秒后,使用Shell脚本探测容器中是否存在/tmp/test文件,因为过20秒后才删除文件,所以最开始探测一定是成功的,容器正常运行,但探测的频率是3秒,所以在经过7次探测后,/tmp/test文件已经被删除了,探测就失败了,容器就会重启进行自愈。4.1.2使用Exec执行命令探测01020304创建Pod的命令如下:创建Pod创建完Pod后,检查Pod的信息,命令如下:查看Pod信息通过查看Pod的详细信息,可以发现Pod重启的原因,命令如下:查看重启原因容器运行20秒后,再次查看Pod信息,命令如下:过20秒后再次查看Pod信息3.执行脚本并检查
结果[root@masteryaml]#kubectldescribepodexec-pod[root@masteryaml]#kubectlapply-fliveness-exec.yaml[root@masteryaml]#kubectlgetpod[root@masteryaml]#kubectlgetpod4.1.2使用Exec执行命令探测1.编写探测脚本
脚本定义了一个Pod,使用nginx:1.8.1镜像启动了一个容器,定义了一个livenessProbe存活性探针,在容器启动1秒后,检测网站根目录下index.html是否存在,如果不存在,探测就失败了,容器就会重启进行自愈。4.1.3使用httpGet方式探测(4)再次查看Pod运行状态(2)查看Pod信息(5)查看容器重启原因(1)创建Pod4.1.3使用httpGet方式探测2.执行脚本并检查结果(3)删除index.html文件【1】首先进入容器【2】进入网站根目录【3】删除index.html文件任务2使用readinessprobe探测pod4.2.1理解readinessProbe探针作用
livenessProbereadinessProbe配置和参数相同相同探测失败后的行为重启容器把容器标记为Unready,不接受请求作用判断是否需要重启以实现自愈判断容器是否准备好对外提供服务初始值成功,防止应用在没成功启动前,被误杀失败,防止应用还没准备好,有请求进来返回值返回值在[200,400)范围内认为成功,返回值5xx认为失败同livenessReadiness探针是为了查看容器是否准备好接受HTTP请求,翻译为就绪探针(readinessProbe),就绪探针旨在让Kubernetes知道你的应用是否准备好为请求提供服务。Kubernetes只有在就绪探针通过才会把流量转发到Pod。如果就绪探针检测失败,Kubernetes将停止向该容器发送流量,直到它通过。1.查看readinessProbe字段通过研究发现,readinessProbe探针和livenessProbe探针的定义字段是一致的,主要包括exec、httpGet、tcpSocket、failureThreshold、initialDelaySeconds、periodSeconds、successThreshold、、timeoutSeconds等字段。2.编写探测脚本创建一个名称为readiness-deployment的控制器,使用httpGet的方式探测每个容器根目录是否存在index.html主页文件,如果存在,即进入就绪状态,如果失败,则将该Pod设置成未就绪状态,就绪状态可以通过Service服务发现访问,未就绪状态Pod则从服务列表中删除。3.创建控制器创建控制器的命令如下:[root@masteryaml]#kubectlapply-freadiness.yaml观察结果发现3个Pod都已经创建成功并处于运行状态了,说明就绪探针检测到了每个Pod容器中的index.html文件,容器正常进入就绪状态了。4.验证就绪失败状态(1)创建服务发现S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子版劳务合同协议书
- 洗鞋店合作合同协议书
- 未转正员工旅游协议书
- 拆除钢筋棚安全协议书
- 工程款合同解除协议书
- 幼儿园园长合同协议书
- 湖南水利水电局协议书
- 贝拉结婚协议书
- 就业协议和意向协议书
- 男人结婚协议书
- 中远海运 行测
- 快递代发合同范本
- 甲状腺腔镜手术配合课件
- 广东省佛山市高明区2021-2022学年六年级下学期期末语文试卷
- DL-T5706-2014火力发电工程施工组织设计导则
- GB/T 4340.1-2024金属材料维氏硬度试验第1部分:试验方法
- 正负离子表面活性剂混合体系双水相性质的测定
- 中国医用三通阀行业市场现状分析及竞争格局与投资发展研究报告2024-2034版
- JT-T 1495-2024 公路水运危险性较大工程专项施工方案编制审查规程
- 5月8日世界微笑日微笑的力量生活中保持微笑宣传课件
- 考古发现与中国文化智慧树知到期末考试答案2024年
评论
0/150
提交评论