k8s--pause容器


当我们在k8s集群的node节点上面docker ps时会发现好多pause容器,这些pause容器是干什么的呢?

  1. Docker支持容器,这对于部署单个软件单元非常有用。但是,当您想同时运行多个软件时,这个模型可能会变得有点麻烦。当开发人员创建Docker映像时,经常会看到这种情况,这些映像使用supervisor作为切入点来启动和管理多个进程。对于生产系统,许多人发现,将这些应用程序部署在部分隔离且部分共享环境的容器组中更有用。
  2. Kubernetes为这个用例提供了一个叫做pod的干净的抽象。它隐藏了Docker标志的复杂性,以及照看容器、共享卷等的需要。它还隐藏了容器运行时之间的差异。例如,rkt本身支持pod,所以Kubernetes要做的工作更少,但作为Kubernetes的用户,您不必担心它。
    原则上,任何人都可以配置Docker来控制容器组之间的共享级别——你只需要创建一个父容器,知道正确的标志设置来创建共享相同环境的新容器,然后管理这些容器的生命周期。管理所有这些部件的生命周期可能非常复杂。
  3. 在Kubernetes中,pause容器作为你的pod中所有容器的“父容器”。pause容器有两个核心职责。首先,它是pod中Linux名称空间共享的基础。其次,启用了PID(进程ID)命名空间共享后,它为每个pod充当PID 1,并接收僵尸进程。 PID 为 1 的进程是 init 进程,即所有进程的父进程。init 进程比较特殊,它维护一张进程表并且不断地检查其他进程的状态。init 进程的其中一个作用是当某个子进程由于父进程的错误退出而变成了"孤儿进程",便会被 init 进程收养并在该进程退出时回收资源。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM