文章目录
概述
在K8S部署容器化应用程序后,它会添加一个Pod
来托管你的应用实例:
-
Pod是K8S抽象出来的一个专业概念,可表示一组容器的集合,以及这些容器的一些共享资源
这些资源包括:
- 共享存储(卷)
- 网络,作为集群唯一的IP地址
- 有关每个容器如何运行的信息
就像是为特定于应用程序的“逻辑主机”建模一样
-
Pod中的容器共享IP地址和端口,始终位于同一位置并且共同调度,并在同一工作节点上的共享上下文中运行(共享网络命名空间)
-
Pod是K8S平台上的最小部署单元,即K8S不会直接创建容器,而是创建包含容器的Pod
-
每个Pod都与调度它的工作节点绑定,并保持在那直到终止或删除。如果工作节点发生故障,则会在群集中的其他可用工作节点上调度相同的 Pod
即Pod是会“更新的”,你直接删除它,它还是会生成新的,需要“干掉”其对应的调度器才能真正的删除它
-
pod是运行在工作节点,工作节点是K8S中参与计算的机器,由主节点管理。在工作节点中可以有多个pod,K8S主节点会自动处理(调度)集群中工作节点上的pod
主节点的自动调度会考量每个工作节点上的可用资源
1.Pod 的容器分类
①infrastructure container——基础容器
[root@node01 ~]# cat /opt/k8s/cfg/kubelet '//可在node节点操作查看容器的网络'
KUBELET_OPTS="--logtostderr=true \
--v=4 \
--hostname-override=192.168.126.12 \
--kubeconfig=/opt/k8s/cfg/kubelet.kubeconfig \
--bootstrap-kubeconfig=/opt/k8s/cfg/bootstrap.kubeconfig \
--config=/opt/k8s/cfg/kubelet.config \
--cert-dir=/opt/k8s/ssl \
--pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0"
'//基础容器负责维护整个Pod的网络空间'
--
'//每次创建pod时都会创建基础容器,它对于用户而言是透明的'