Kubernetes中的Pod简易理解

pod是kubernetes中非常重要的概念,也是kubernetes管理的基本单位。正如其名,pod像一个豌豆荚,可以容纳多个container,拥有相同的ip地址。
kubernetes使用pod,不直接使用container。而container的技术本质是linux namespace和 cgroup。namespace提供进程间资源的隔离,让进程自认为拥有独立的全部资源;而实质上进程是能够使用多少资源,则由cgroup进行限制。
现在,pod要容纳多个container,必然要共享资源。前面我们知道,container想要拥有独立的资源,对linux资源进行了拆分,而今因为pod的提出,又需要将某些资源共享起来,也就是在原来的隔离环境中再整合在一起。
那么,在pod中如何进行资源的共享呢?
pod引入了pause容器。
root@k8s:/# docker pscontainer id image command created status ports namesaa5d3554b60d 404fc3ab6749 /opt/bin/flanneld -⦠27 hours ago up 27 hours k8s_kube-flannel_kube-flannel-ds-th8cd_kube-system_322a7b3b-01b3-4902-9ac8-f14ed2eecec6_0f1f6cbfce9c4 registry.aliyuncs.com/google_containers/pause:3.6 /pause 27 hours ago up 27 hours k8s_pod_kube-flannel-ds-th8cd_kube-system_322a7b3b-01b3-4902-9ac8-f14ed2eecec6_0de1d18ca0405 b46c42588d51 /usr/local/bin/kube⦠28 hours ago up 28 hours k8s_kube-proxy_kube-proxy-9rjpc_kube-system_bd7d444b-20e3-4e4a-ab9e-8af4dce6b47a_0a60b297d572d registry.aliyuncs.com/google_containers/pause:3.6 /pause 28 hours ago up 28 hours k8s_pod_kube-proxy-9rjpc_kube-system_bd7d444b-20e3-4e4a-ab9e-8af4dce6b47a_0c14bff92e79b b6d7abedde39 kube-apiserver --ad⦠28 hours ago up 28 hours k8s_kube-apiserver_kube-apiserver-master_kube-system_d6f2f822def6f57249e6789960cadda9_077fb48469b2b f51846a4fd28 kube-controller-man⦠28 hours ago up 28 hours k8s_kube-controller-manager_kube-controller-manager-master_kube-system_85ff8159d8c894c53981716f8927f187_0db450e4928f8 25f8c7f3da61 etcd --advertise-cl⦠28 hours ago up 28 hours k8s_etcd_etcd-master_kube-system_1d7ec9e1c409f497753e8635eb01ed02_000383cb94409 71d575efe628 kube-scheduler --au⦠28 hours ago up 28 hours k8s_kube-scheduler_kube-scheduler-master_kube-system_77a51208064a0e9b17209ee62638dfcd_0e8f4474d43bf registry.aliyuncs.com/google_containers/pause:3.6 /pause 28 hours ago up 28 hours k8s_pod_kube-controller-manager-master_kube-system_85ff8159d8c894c53981716f8927f187_0ba10a2d6709f registry.aliyuncs.com/google_containers/pause:3.6 /pause 28 hours ago up 28 hours k8s_pod_etcd-master_kube-system_1d7ec9e1c409f497753e8635eb01ed02_0c1250096678e registry.aliyuncs.com/google_containers/pause:3.6 /pause 28 hours ago up 28 hours k8s_pod_kube-apiserver-master_kube-system_d6f2f822def6f57249e6789960cadda9_006a9cd375a35 registry.aliyuncs.com/google_containers/pause:3.6 /pause 28 hours ago up 28 hours k8s_pod_kube-scheduler-master_kube-system_77a51208064a0e9b17209ee62638dfcd_0root@k8s:/# ps -el | grep pause4 s 65535 16718 16694 0 80 0 - 242 pause ? 00:00:00 pause4 s 65535 16824 16761 0 80 0 - 242 pause ? 00:00:00 pause4 s 65535 16864 16773 0 80 0 - 242 pause ? 00:00:00 pause4 s 65535 16874 16762 0 80 0 - 242 pause ? 00:00:00 pause4 s 65535 17580 17551 0 80 0 - 242 pause ? 00:00:00 pause4 s 65535 20614 20588 0 80 0 - 242 pause ? 00:00:00 pausekubernetes官方给出的pause容器的解释是:
it's part of the infrastructure. this container is started first in all pods to setup the network for the pod.也就是pause容器作为基础设施,在pod中会第一个启动,以提供pod的网络共享空间。
后续的容器则以“加入”的方式,共享该pod资源。
讲述pod比较清晰的文章:
what even is a container: namespaces and cgroupshttps://jvns.ca/blog/2016/10/10/what-even-is-a-container/what are kubernetes pods anyway?https://www.ianlewis.org/en/what-are-kubernetes-pods-anywaythe almighty pause containerhttps://www.ianlewis.org/en/almighty-pause-container

艾德克斯IT7900P电网模拟器模拟交流电机测试
到2035年,智能网联汽车将占全球25%左右的新车市场?
历时22个月 OPPO圆安卓智能手机之梦
jvm内存溢出故障排查
同步调相机的功能有哪些?大型调相机的应用情况如何?
Kubernetes中的Pod简易理解
一款型号为PEGM00的OPPO新机已通过工信部入网审核
紧凑型600W交流/直流电源采用U通道封装
安科瑞ANet、AF-GSM、AEW100、AWT100系列智能通信管理机
雪佛兰SUVTahoe,开保时捷卡宴的朋友都羡慕
一个带有COB的1Hz时钟发生器电路
利用WEBENCH软件快速设计有源模拟滤波器
深度学习与图神经网络学习分享:CNN经典网络之-ResNet
全项目土壤肥料养分检测仪的测试方法
索尼XZ3怎么样 值不值得买
怎么恢复被巫山的手机照片
AMD RX 6700 XT系列亮点汇总
中国就5G和AI标准规格出台计划,在5G领域正取得成果
高精度大电流稳压电源电路图
智能电视上这两个功能有必要好好了解