本文介绍: 在打开myapp容器之前,首先通过init容器检测集群内的解析是否到位,如果解析没有到位,后续的容器不会启动 ,直到解析到位,环境就绪容器开启svc解析成功后,init容器退出,主容器运行podpod 镜像来提供,在pod 生命周期里容器主要分为两种:初始化容器和主容器。初始化容器一定要成功运行退出,当初始化容器运行退出完了之后主容器开始和运行。一旦存活探针报错,就认为该pod存活,就会不断重启pod内的容器。主容器开始运行的时候,有两个探针:存活探针和就绪探针。就绪探针失败,容器未就绪

容器环境初始化

podpod 镜像来提供,在pod 生命周期里容器主要分为两种:初始化容器和主容器

初始化容器一定要成功运行退出,当初始化容器运行退出完了之后主容器开始和运行

主容器开始运行的时候,有两个探针:存活探针和就绪探针

Init 容器是一种特殊容器,在 Pod 内的应用容器启动之前运行。Init 容器可以包括一些应用镜像中不存在实用工具安装脚本

初始化容器

集群内部coredns提供解析服务,每当在集群创建一个services时,就会创建一个corends解析

添加services定义

添加services解析之前pod会一直处于就绪状态

添加services解析之后

初始化容器的效果

打开myapp容器之前,首先通过init容器检测集群内的解析是否到位,如果解析没有到位,后续的容器不会启动 ,直到解析到位,环境就绪;容器在开启svc解析成功后,init容器退出,主容器运行。


kubelet可以选择是否执行在容器上运行的三种探针执行和做出反应:

回收创建资源

创建存活探针

存活探针监测失败导致容器不断被重启

一旦存活探针报错,就认为该pod存活,就会不断重启pod内的容器

端口修改为80,就可以启动成功


就绪探针

此时还处于未就绪状态

没有定义就绪探针就代表就绪探针是成功的,默认成功

但是现在定义了就绪探针,就绪探针就不会成功

创建测试页面

创建svc

删除测试页面

就绪探针失败,容器未就绪

注:存活探针如果监测失败,会不断的去重启这个容器,让它达到一个自愈的功能

就绪探针相当于一种健康检测,是k8s对应用上线和下线的一种优雅操作

原文地址:https://blog.csdn.net/m0_65366762/article/details/134569678

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_17317.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注