一、概述
1. 简述pod
pod是k8s应用最小纸箱单元,pod表示在集群上运行的进程,docker是k8s pod中最常用的容器,但pods也支持其他容器运行。单个pod下可以有一个运行的容器也可以同时有多个运行的容器。
2. pods管理多个容器
当一个pods中有运行多个容器时,多个容器彼此之间可以共享资源和彼此通信。其中有以下两种共享资源:
- 网络
- 存储
3. pod模板
[root@redis-cluser-01 tmp]# cat nginx.yml
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
labels:
app: myapp
spec:
containers:
- name: myapp-container
image: busybox
command: ['sh', '-c', 'echo Hello Kubernetes! && sleep 3600']
二、Pod生命周期
1. pod的6种模式
- Pending
该Pod已被k8s接受,但是尚未创建一个或多个Container映像
-
Running
Pod已绑定到节点,并且所有容器都已创建。至少一个容器仍在运行
-
Succeesed
Pod中的所有容器已成功终止,并且不会重新启动
-
Failed
Pod中的所有容器均已终止,并且至少一个容器因故障而终止
-
Unkonwn
由于某种原因,通常由于与Pod主机通信时出错而无法获得Pod状态
2. 容器探针
探针可以周期性的执行诊断容器状态,有以下三种类型的处理程序方式:
留言