作为 DevOps 工程师,您可以在 主管 上运行的 vSphere 命名空间 的资源边界内部署 vSphere Pod 并对其进行生命周期管理。

注: 只能在配置了 NSX 网络堆栈的 主管 上部署 vSphere Pod。无法在配置了 VDS 堆栈的 主管 上部署 vSphere Pod。配置了 NSX 或 VDS 的 主管 都支持 主管服务,并且它们部署 vSphere Pod 供自己使用。但是,无法在配置了 VDS 的 主管 上部署 vSphere Pod 用于一般用途。

什么是 vSphere Pod

vSphere IaaS control plane 引入了一个名为 vSphere Pod 的构造,它等效于 Kubernetes Pod。vSphere Pod 是一个占用空间较小的虚拟机,可运行一个或多个 Linux 容器。每个 vSphere Pod 根据其容纳的工作负载精确地调整大小,并拥有与该工作负载对应的确切资源预留。它会分配待运行工作负载所需的确切存储、内存和 CPU 资源量。仅配置了 NSX 作为网络连接堆栈的 主管 支持 vSphere Pod

图 1. vSphere Pod
包含两个 vSphere Pod 框的 ESXi 主机。每个 vSphere Pod 内都有正在其中运行的容器、Linux 内核、内存、CPU 和存储资源。
vSphere PodvCenter Server 中的对象,并支持工作负载的以下功能:
  • 强隔离。像隔离虚拟机一样隔离 vSphere Pod。每个 vSphere Pod 都有自己的唯一 Linux 内核,它基于 Photon OS 中使用的内核。像在裸机配置中一样,在 vSphere Pod 中,每个容器都具有唯一的 Linux 内核,而不是多个容器共享一个内核
  • 资源管理:vSphere DRS 处理 vSphere Pod主管 上的放置位置。
  • 高性能:vSphere Pod 会获得与虚拟机相同级别的资源隔离,既能消除邻居吵闹的问题,又能保持快速启动和减少容器开销。
  • 诊断。作为 vSphere 管理员,您可对工作负载使用可用于 vSphere 的所有监控和自检工具。
vSphere Pod 与 Open Container Initiative (OCI) 兼容,并且可从任何操作系统运行容器(前提是这些容器也与 OCI 兼容)。

部署 vSphere Pod 的准则

在部署 vSphere Pod 之前,请确保您的环境满足以下要求。
图 2. vSphere Pod 网络连接和存储
内部包含容器、容器引擎和 Pod 引擎的 vSphere Pod。Pod 连接到容器映像、存储、NSX 交换机、spherelet 和 hostd。
命名空间
您的 主管 必须配置了具有编辑权限或所有者权限的 vSphere 命名空间。只有配置了 NSX 网络的单区域 主管 支持 vSphere Pod

要创建 主管,请参见部署具有 NSX 网络连接的单区域主管

有关创建命名空间的信息,请参见在 主管 上创建并配置 vSphere 命名空间

有关分配权限的信息,请参见身份和访问管理

网络
对于网络连接, vSphere Pod 使用 NSX 提供的拓扑。有关详细信息,请参见 主管网络连接

Spherelet 是在每个主机上创建的额外进程。它是一种以本机方式传输到 ESXi 的 kubelet,允许 ESXi 主机加入 Kubernetes 集群。

存储

vSphere Pod 根据存储的对象使用三种存储,它们是临时 VMDK、持久卷 VMDK 和容器映像 VMDK。

作为 vSphere 管理员,可在启用 主管 时为容器映像缓存和临时 VMDK 的放置配置存储策略。

vSphere 命名空间 级别,可为持久卷的放置配置存储策略。有关 vSphere IaaS control plane 的存储要求和概念的详细信息,请参见在 vSphere IaaS control plane 中将持久存储与 主管 工作负载结合使用