k8s之 Pod简介
1、Pod
kubernetes中,最基础单元就是Pod。Pod主要用来管理容器,通常Pod中包含的是一个调用链的服务。例如Nginx 和 Django

1.1、Pod的生命周期
[root@k8s-master-01 k8s]
kind: Pod
apiVersion: v1
metadata:
name: testv1
spec:
containers:
- name: nginx
image: nginx
[root@k8s-master-01 k8s]
pod/testv1 created
[root@k8s-master-01 k8s]
NAME READY STATUS RESTARTS AGE
testv1 1/1 Running 0 52s
Pod名称 启动数量 运行状态 重启次数 启动时间
kubectl get pods -o wide
1.2、Pod的重启策略(restartPolicy)
当Pod出现了问题时,Pod怎么解决。
Always :无论什么情况下退出,都重启
OnFailure :只有当非正常情况下退出时,才会重启
Never :无论什么情况下退出,都不重启
1.3、Pod中容器的拉取策略(imagePullPolicy)
容器的 imagePullPolicy 和镜像的标签会影响 kubelet 尝试拉取(下载)指定的镜像。
IfNotPresent : 当本地没有该镜像时,下载
Always :无论本地有没有该镜像,都去远程下载
Never :无论本地有没有该镜像,都不去远程下载
kind: Pod
apiVersion: v1
metadata:
name: testv1
spec:
restartPolicy: OnFailure
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
[root@k8s-master-01 k8s]
[root@k8s-master-01 k8s]
pod/testv1 created
1.4、静态Pod和动态Pod之间的区别
静态Pod:没有控制器
动态Pod:有控制器
1.5、Pod的回调钩子
1.5.1、启动回调
执行失败:如果启动回调钩子执行失败,容器无法进入正常启动状态。
exec : 执行命令
kind: Pod
apiVersion: v1
metadata:
name: testv1
spec:
restartPolicy: OnFailure
containers:
- name: nginx
image: nginx:1.18
imagePullPolicy: IfNotPresent
lifecycle:
postStart:
exec:
command:
- "/bin/sh"
- "-c"
- "echo 'Hello World!' > /root/1.txt"
httpGet : 通过HTTP协议访问
kind: Pod
apiVersion: v1
metadata:
name: testv1
spec:
restartPolicy: OnFailure
containers:
- name: nginx
image: nginx:1.18
imagePullPolicy: IfNotPresent
lifecycle:
postStart:
httpGet:
port: 80
path: /
host: www.baidu.com
tcpSocket : 通过Ping命令,探测端口
kind: Pod
apiVersion: v1
metadata:
name: testv1
spec:
restartPolicy: OnFailure
containers:
- name: nginx
image: nginx:1.18
imagePullPolicy: IfNotPresent
lifecycle:
postStart:
tcpSocket:
port: 80
host: 106.13.81.75
1.5.2、就绪性检测
执行失败:如果就绪性检测执行失败,Pod会立即驱离出负载均衡。
exec : 执行命令
httpGet : 通过HTTP协议访问
tcpSocket : 通过Ping命令,探测端口
1.5.3、存活性检测
执行失败:如果存活性检测执行失败,Pod会按照一定时间周期不断重启,直至Pod正常启动。
exec : 执行命令
httpGet : 通过HTTP协议访问
tcpSocket : 通过Ping命令,探测端口
1.5.4、结束回调
执行失败:如果结束回调执行失败,容器依然会终止。
exec : 执行命令
httpGet : 通过HTTP协议访问
tcpSocket : 通过Ping命令,探测端口
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通