写点什么

深入理解 Pod

  • 2023-06-14
    北京
  • 本文字数:896 字

    阅读完需:约 3 分钟

深入理解Pod

Pod 就是豆荚里面的小豆子,形象地比喻 pod 在 k8s 里面的逻辑状态,Pod 是 k8s 中可部署创建管理的最小单元,一个 Pod(就像一个豌豆荚)是一个组,这个组中包含一个或多个容器(如 Docker 容器),具有共享存储/网络,以及如何运行容器的规范。


Pod 的内容总是同时定位和同时调度,并在共享上下文中运行。Pod 为特定于应用程序的“逻辑主机”建立模型,它包含一个或多个相对紧密耦合的应用程序容器。在容器之前的世界中,在相同的物理或虚拟机上执行则意味着在相同的逻辑主机上执行。

1、Pod 是什么

Pod 是 Kubernetes 应用程序的基本执行单元,是创建或部署的 Kubernetes 对象模型中最小、最简单的单元。Pod 代表在集群上运行的进程。


一个 Pod 封装了一个应用程序的容器(在某些情况下是多个容器)、存储资源、一个唯一的网络 IP 和控制容器如何运行的选项。


一个 Pod 代表一个部署单元,即 Kubernetes 中的应用程序的一个单个实例,它可能由单个容器或少量紧密耦合且共享资源的容器组成。


Docker 是 Kubernetes Pod 中最常用的容器运行时,但是 Pods 也支持其他容器运行时。


Pod 是 Kubernetes 应用程序的基本执行单元,是创建或部署的 Kubernetes 对象模型中最小、最简单的单元。Pod 代表在集群上运行的进程。


Pod 中的容器共享一个 IP 地址和端口空间,并且可以通过 localhost 相互查找。它们还可以使用 SystemV 信号量或 POSIX 共享内存等标准进程间通信进行通信。不同的 Pods 中的容器拥有不同的 IP 地址,没有特殊配置的情况下是不能通过 IPC 进行通信的。这些容器通常通过 Pod IP 地址彼此通信。


Pod 中的应用程序也可以访问共享 volumes,这些共享 volumes 被定义为 Pod 的一部分,可以安装到每个应用程序的文件系统中。


与单个应用程序容器一样,Pods 被认为是相对短暂的(而不是持久的)实体。正如在 Pod 生命周期中所讨论的,创建 Pod,分配唯一 ID(UID),并将其调度到节点,直到终止(根据重启策略)或删除。如果一个节点死亡,那么在超时之后,该节点的 Pods 将被删除。给定的 Pod(由 UID 定义)不会“重新调度”到一个新节点;相反,它可以被一个相同的 Pod 替换,如果需要,甚至可以使用相同的名称,但是要使用一个新的 UID。


如果 Pod 被删除,那么与之相关联的资源都会被销毁,并在必要时重新创建。


发布于: 刚刚阅读数: 6
用户头像

InfoQ签约作者 2018-11-30 加入

热爱生活,收藏美好,专注技术,持续成长

评论

发布
暂无评论
深入理解Pod_pod_穿过生命散发芬芳_InfoQ写作社区