pod资源管理
pod特点
- 最小部署单元
- 一组容器的集合
- 一个pod中的容器共享网络命名空间
- pod是短暂的
Pod容器分类
- 基础容器
- 初始化容器
- 业务容器
基础容器
基础容器,用于维护整个pod网络空间,只要加入k8s群集中,在创建pod的时候基础容器就会被创建,对用户来说是透明的看不到的
通过下面的命令可以看到registry这样的基础容器
[root@node01 cfg]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
13720aeb1e5a nginx “nginx -g 'daemon of…” 23 hours ago Up 23 hours k8s_nginx_nginx-deployment-d55b94fd-v5wmj_default_e18580e1-0b9f-11eb-8107-000c293d299a_0
fc60472cc87d registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0 “/pause” 23 hours ago Up 23 hours k8s_POD_nginx-deployment-d55b94fd-v5wmj_default_e18580e1-0b9f-11eb-8107-000c293d299a_0
[root@node01 cfg]# vim kubelet
KUBELET_OPTS="–logtostderr=true
–v=4
–hostname-override=20.0.0.30
–kubeconfig=/opt/kubernetes/cfg/kubelet.kubeconfig
–bootstrap-kubeconfig=/opt/kubernetes/cfg/bootstrap.kubeconfig
–config=/opt/kubernetes/cfg/kubelet.config
–cert-dir=/opt/kubernetes/ssl
#有定义基础容器
–pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0"
initcontainers初始化容器
初始化容器是可以在我们正式部署业务之前,安装一些前置环境,之前适合业务容器并行,现在为先初始化再业务容器,如:在部署lamp架构的时候,我们在apache、mysql和PHP之间部署是有一定顺序的,一定要先部署Apache和mysql这样的话,类似的我们就可以将Apache和mysql放到init container中先部署好PHP需要的环境
我们可上官方文档了解https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
业务容器 container
并行启动
我们平常部署的那些运行业务的container,都是业务容器