Kubernetes Pod

Pod

pod是一个逻辑单位,由多个容器组合,是kubernetes原子调度单位,Pod 的共享上下文包括一组 Linux 名字空间、控制组(cgroup)和可能一些其他的隔离方面

  • Pause容器
    kubernetes 为了解决网络共享问题引入了该容器,Pause容器又叫Infra container,是一个非常小的镜像,大概 100~200KB 左右,源代码,是一个汇编语言写的、永远处于“暂停”状态的容器。由于有了这样一个 Infra container 之后,其他所有容器都会通过 Join Namespace 的方式加入到 Infra container 的 Network Namespace 中
  • Volume
    Volume是Pod中能够被多个容器访问的共享目录。Volume与Pod的生命周期相同,但与容器的生命周期不相关,当容器终止或者重启时,Volume中的数据也不丢失

注:业务容器共享Pause容器的网络栈和Volume挂载卷,因此它们之间的通信和数据交换更为高效

  • Init容器(Init Container)
    Init容器运行前必须先运行完成的一个或多个Init容器,Init容器会在启动应用容器之前运行并完成。
  • 应用容器(App Container)
    应用容器在 pod 中,在 初始化容器 启动完毕后才开始启动

注:一个pod中的容器应该为紧密相关的容器,例如
文件交换、localhost或者本地的Socket通信、非常频繁的RPC调用、需要共享某些Linux Namespace等等

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Pod 为什么需要Pod Pod,是Kubernetes项目中的原子调度单位。容器就是未来云计算系统中的进程;容器...
    12点前睡觉hhh阅读 1,333评论 0 0
  • 一. 简介 Pod,是 Kubernetes 项目中最小的 API 对象。一个Pod里面可以运行多个用户容器,容器...
    wyatt_plus阅读 303评论 0 0
  • Pod 凡是调度、网络、存储,以及安全相关的属性,基本上是 Pod 级别的。 凡是 Pod 中的容器要共享宿主机的...
    懒无趣阅读 637评论 0 1
  • 先来一起回忆一下上节课内容,k8s的几个组成部分: 研发采用声明式定义自己的应用: 应用运行在k8s集群上的全景图...
    KalvinDai阅读 832评论 0 8
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,115评论 0 4