Kubernetes-04-Pod介绍

简介

官网: https://kubernetes.io/zh-cn/docs/concepts/workloads/pods/#working-with-pods

Pod 是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。Pod(就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个)容器;这些容器共享存储、网络、以及怎样运行这些容器的声明。Pod 中的内容总是并置(colocated)的并且一同调度,在共享的上下文中运行。简言之如果用 Docker 的术语来描述,Pod 类似于共享命名空间以及共享文件系统卷的一组容器。

定义:Pod 就是用来管理一组(一个|多个)容器的集合,特点:共享网络 共享存储 共享上下文环境。

Pod 怎样管理多个容器的

Pod 中的容器被自动安排到集群中的同一物理机或虚拟机上,并可以一起进行调度。容器之间可以共享资源和依赖、彼此通信、协调何时以及何种方式终止自身。例如,你可能有一个容器,为共享卷中的文件提供 Web 服务器支持,以及一个单独的 “边车(sidercar)”容器负责从远端更新这些文件,如下图所示:

如何使用 Pod

通常我们不需要直接创建 Pod,甚至单实例 Pod。相反,我们会使用诸如 Deployment 或 Job 这类工作负载资源来创建 Pod。如果 Pod 需要跟踪状态,可以考虑 StatefulSet 资源。

Kubernetes 集群中的 Pod 主要有两种用法:

  • 运行单个容器的 Pod。“每个 Pod 一个容器”模型是最常见的 Kubernetes 用例;在这种情况下,可以降 Pod 看作单个容器的包装器,并且 Kubernetes 直接管理 Pod,而不是容器。
  • 运行多个协同工作的容器的 Pod。Pod 可能封装由多个紧密耦合且需要共享资源的共处容器组成的应用程序。这些位于同一位置的容器可能形成单个内聚的服务单元(一个容器降文件从共享卷提供给公众,而另一个单独的“边车(sidecar)容器则刷新或更新这些文件)。Pod 将这些容器和存储资源打包为一个可管理的实体。

说明

  • 将多个并置、同管的容器组织到一个 Pod 中是一种相对高级的使用场景。只有在一些场景中,容器之间紧密关联时才应该使用模式。
  • 每个 Pod 都旨在运行给定应用程序的单个实例。如果希望横向扩展应用程序(例如,运行多个实例以提供更多的资源),则应该使用多个 Pod,每个实例使用一个 Pod。在 Kubernetes 中,这通常被称为副本(Replicatioin)。通常使用一种工作负载资源及其控制器来创建和管理一组 Pod 副本。
作者

bufx

发布于

2026-01-11

更新于

2026-01-12

许可协议