首页 > 其他分享 >第二章 Pause容器 和 Init容器

第二章 Pause容器 和 Init容器

时间:2022-11-10 17:35:52浏览次数:35  
标签:容器 Pause Namespace init Infra Init pod Pod

Pause容器

pause容器,又叫Infra容器,是pod的基础容器,镜像体积只有几百KB左右,配置在kubelet中,主要的功能是使一个pod中多个容器的网络通信

Infra容器被创建后会初始化Network Namespace,之后其他容器就可以加入到Infra容器中共享Infra容器的网络了 ,因此如果一个pod中的两个容器A和B,那么关系如下:

1、A容器和B容器能够直接用localhost通信;

2、A容器和B容器可以看到网卡、IP与端口监听信息;

3、Pod只有一个IP地址,也就是该Pod的Network Namespace对应的IP地址(由Infra容器初始化并创建)。

4、K8s环境中的每个Pod有一个独立的IP地址(前提是地址足够用),并且此IP被当前Pod中所有容器在内部共享使用。

5、Pod删除后Infra容器随机被删除。其IP被回收。

Pause容器共享的Namespace

1、NET Namespace: Pod中的多个空器共享同一个网络命名空间。即使用相同的IP和端口信息

2、IPC Namespace: pod中的多个容器可以使用System V IPCak  POSIX消息队列进行通信

3、UTS Namespace: pod中的多个容器共享一个主机名

MNT Namespace、PID Namespace、User Namespace未共享

总结:创建一个pod后。pause容器创建一个网络命名空间,此pod的容器共享这个网络命名空间。

init容器

Init容器的作用:

1、可以为业务容器提前准备好业务容器的运行环境,比如将业务容器需要的配置文件提前生成并放在指定位置、检查数据权限或完整性、软件版本等基础运行环境。。

2、可以在运行业务容器之前准备好需要的业务数据。比如从oss下载,或者从其它位置copy.

3、检查依赖的服务是否能访问


init容器的特点:

1、一个pod可以有多个业务容器还能有多个init容器,但是每个initl容器和业务容器的运行环境都是隔

离的。

2、intl容器比业务容器先启动

3、init容器运行成功后才会继续运行业务容器

4、如果一个pod有多个init容器。则需要从上到下逐个运行并且全部成功,最后才会运行业务容器。

5、init容器不支持探针检测(因为初始化完成后就退出再也不运行了)


标签:容器,Pause,Namespace,init,Infra,Init,pod,Pod
From: https://blog.51cto.com/yht1990/5841893

相关文章