kubernetes-深入理解Pod对象:基本管理

一、Pod的基本概念

kubernetes-深入理解Pod对象:基本管理_第1张图片

二、Pod存在的意义

kubernetes-深入理解Pod对象:基本管理_第2张图片

三、Pod资源共享实现机制

kubernetes-深入理解Pod对象:基本管理_第3张图片

四、Pod常用管理命令

kubernetes-深入理解Pod对象:基本管理_第4张图片

kubernetes-深入理解Pod对象:基本管理_第5张图片

将pod.yaml改名pod-net-test.yaml

kubernetes-深入理解Pod对象:基本管理_第6张图片

演示共享网络:- 为方便演示这里直接创建Pod,正常情况下不会这么使用。

​​​​​​kubernetes-深入理解Pod对象:基本管理_第7张图片

kubernetes-深入理解Pod对象:基本管理_第8张图片

kubernetes-深入理解Pod对象:基本管理_第9张图片

kubernetes-深入理解Pod对象:基本管理_第10张图片

kubernetes-深入理解Pod对象:基本管理_第11张图片

同一Pod下,两个容器查看到相同的网络以及监听端口,容器"web"之所以没有对应的命令,是因为它是个nginx容器,如果有的话,如刚才所有应该保持一致。

还有一种验证方式:

进入容器“test”通过wget命令去访问容器“web”的nginx页面,如果访问到了Nginx页面,说名两个容器直接网络是互通的。

kubernetes-深入理解Pod对象:基本管理_第12张图片

演示“共享存储”

kubernetes-深入理解Pod对象:基本管理_第13张图片

kubernetes-深入理解Pod对象:基本管理_第14张图片

kubernetes-深入理解Pod对象:基本管理_第15张图片

解释:

        先在容器web的/data目录下创建了一个index.html然后退出,再进入容器test的/data目录下,发现/data目录下的文件是一致的,证明他们是共享存储。

五、k8s对pod的状态管理

kubernetes-深入理解Pod对象:基本管理_第16张图片

Pod状态:

Pending - Pod未调度,或者pod已调度正在拉取镜像;

Running - Pod已经运行;

Failed - Pod内容易运行停止;

Success - Pod内容器运行成功结束;

Unknow - Master与Node失联,Pod状态无法正常获取到。

六、重启策略+健康检查(应用自修复)

kubernetes-深入理解Pod对象:基本管理_第17张图片

kubernetes-深入理解Pod对象:基本管理_第18张图片

重启策略配置:

kubernetes-深入理解Pod对象:基本管理_第19张图片

健康检查: - 应用层面的健康检查

kubernetes-深入理解Pod对象:基本管理_第20张图片

livenessProbe - 比如容器状态正常情况下,应用是否假死(即请求无响应);

readinessProbe - 如果就绪检查失败,k8s就会在service endpoints中提出掉这个pod,不再将请求转发给异常pod;

startupProbe - 检查应用是否启动好了,在1.16版本加入。

检查方法:

  kubernetes-深入理解Pod对象:基本管理_第21张图片

kubernetes-深入理解Pod对象:基本管理_第22张图片

验证存活健康检查:

示例地址:配置存活、就绪和启动探针 | Kubernetes

kubernetes-深入理解Pod对象:基本管理_第23张图片

kubernetes-深入理解Pod对象:基本管理_第24张图片

kubernetes-深入理解Pod对象:基本管理_第25张图片

kubernetes-深入理解Pod对象:基本管理_第26张图片

kubernetes-深入理解Pod对象:基本管理_第27张图片

每重启一次,RESTARTS+1。

验证就绪健康检查:

kubernetes-深入理解Pod对象:基本管理_第28张图片

查看关联后端的节点:

命令:kubectl get endpoints/ep

查看pod详细信息:

命令:kubectl get pods -o wide

kubernetes-深入理解Pod对象:基本管理_第29张图片

增加就绪检查: - 跟增加存活健康检查代码一样,换个单词就可以了

kubernetes-深入理解Pod对象:基本管理_第30张图片

kubernetes-深入理解Pod对象:基本管理_第31张图片

七、Pod注入环境变量

yH5BAAAAAAALAAAAAAOAA4AAAIMhI+py+0Po5y02qsKADs=wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

kubernetes-深入理解Pod对象:基本管理_第32张图片

kubernetes-深入理解Pod对象:基本管理_第33张图片

kubernetes-深入理解Pod对象:基本管理_第34张图片

八、Init初始化容器应用

kubernetes-深入理解Pod对象:基本管理_第35张图片

kubernetes-深入理解Pod对象:基本管理_第36张图片

vi pod-initcontainer.yaml

kubernetes-深入理解Pod对象:基本管理_第37张图片

在yaml中使用了,initcontainer,则会发现Pod的刚开始的状态为init

kubernetes-深入理解Pod对象:基本管理_第38张图片

进入容器发现有/usr/share/nginx/html目录下有index.html

kubernetes-深入理解Pod对象:基本管理_第39张图片

注意:这里的mountPath是相对于当前容器的路径,不要理解错了。

kubernetes-深入理解Pod对象:基本管理_第40张图片

Infrasructure Container - 基础容器,每起一个Pod,都会启动一个基础容器

kubernetes-深入理解Pod对象:基本管理_第41张图片

你可能感兴趣的:(k8s,kubernetes,容器,云原生)