比如现在运行了一个pod,这个pod里面运行了两个容器,如果这两个容器还在,但是里面运行的服务进程已经死亡,由于某种故障原因这个容器并没有退出造成这个pod还处于running状态,这个时候服务其实已经是不可用的了,但是对于整个pod来说依然是可用的,所以这时候就出现问题了。
int 初始化容器,运行了一个pod,pod运行了两个不同的容器,这两个容器运行的前提条件就是在本机的某存储下的文件存在,才能正常运行,可以通过int初始化容器,将这个文件生成,这里需要注意的是并不会跟随pod的生命周期一直存在。
主容器:假设有一个pod,pod里面就运行一个nginx容器,在这个主容器的运行过程中,首先会进行start - stop的操作,在容器运行的前后运行一个指令
readless:就绪检测,pod状态running前的必要检测条件,检测通过代表pod能正常提供服务
liveless:生存检测,pod运行过程中的检测策略,避免只针对容器状态判断服务是否正常
k8s的所有组件pod的pause容器
kubernetes中的pause容器主要为每个容器提供以下功能:
1、PID命名空间:pod中的不同应用程序可以看到其他应用程序的进程ID
2、网络命名空间:pod中的多个容器能够访问同一个IP和端口范围
3、IPC命名空间:pod中的多个容器能够使用IPC或POSIX消息队列进行通信
4、UTS命名空间:pod中的多个容器共享一个主机名、Volumes卷
5、pod中的各个容器可以访问在pod级别定义的Volumes卷