本文档介绍了 Google Distributed Cloud (GDC) 气隙环境中可用的 Kubernetes 集群选项和功能。Kubernetes 集群通过 Google Kubernetes Engine (GKE) 提供托管式 Kubernetes 服务,让您可以使用业界标准 Kubernetes 方法来部署和运行容器工作负载。
本文档面向平台管理员组中的 IT 管理员和应用运维人员组中的应用开发者等受众群体,他们负责管理组织内的容器工作负载。如需了解详情,请参阅 GDC 气隙环境受众群体文档。
在断开连接的环境中使用 GKE
GKE on GDC 是一项代管式 Kubernetes 服务,可将 GKE 的核心特性和功能引入您的断网环境。在文档中,由 GKE on GDC 管理的集群称为 Kubernetes 集群。如需详细了解 Kubernetes 概念,请参阅开始了解 Kubernetes。
借助 GKE on GDC,您可以在断开连接的环境中创建和管理容器工作负载,就像在公共 Google Cloud中使用 GKE 一样。
下表比较了 GDC 中的集群和 Google Cloud中的集群:
| 功能 | 说明 | GKE on GDC | GKE on Google Cloud |
|---|---|---|---|
| 完全没有亲近感 | 可在未连接到互联网的环境中运行。 | 是 | 否 |
| 备份解决方案 | 用于为集群创建数据和配置副本的服务,以确保数据保护并能够从故障、错误或网络攻击中恢复。 | Backup for GDC | Backup for GKE |
| 集成的日志和监控功能 | 一种服务,可将收集和分析日志与监控关键绩效指标相结合,从而全面了解集群行为。 | Prometheus、Grafana 和 Loki | Cloud Logging 和 Cloud Monitoring |
| 托管式容器注册表 | 用于托管和整理容器映像的服务,可处理映像的基础设施、可用性和安全性。 | 托管 Harbor 服务 | Artifact Registry |
| 容器隔离 | 能够使容器应用及其依赖项彼此独立,并与宿主系统独立。 | 是 | 是 |
| 支持 GPU 和 TPU | 高性能计算单元,可增强处理能力。 | 仅限 GPU | GPU 和 TPU |
| Pod 横向自动扩缩 | 根据观察到的指标(例如 CPU 或内存用量)自动调整部署或其他工作负载中的 Pod 副本数量。 | 是 | 是 |
| Linux 容器 | 用于在 Linux 主机上运行应用的隔离环境。 | 是 | 是 |
| 集群的界面 | 图形界面,可提供一种简单直观的方式来管理和监控集群。 | 仅限共享集群 | 是 |
| 集群资源的界面 | 提供了一种简单直观的方式来管理和监控集群的容器工作负载的图形界面。 | 只能查看 | 是 |
如需详细了解 GKE 及其在公开 Google Cloud版中提供的全套功能,请参阅探索 GKE 文档。
Kubernetes 集群的优势
GKE on GDC 为您的 Kubernetes 集群提供以下主要优势:
- 多集群生命周期管理:在 GDC 中同时部署多个集群,为容器工作负载提供各种托管实例。
- 全面支持各种 Kubernetes 发行版:创建包含最新标准 Kubernetes 功能的集群。
- 费用可见性:监控实时使用情况和数据分析,帮助您持续监控 Kubernetes 费用。
- 多团队管理:向多个用户群组授予对 Kubernetes 集群的访问权限,以实现灵活的管理边界。
- 自动化的 Kubernetes 工作流:依靠自动节点预配和 Pod 横向自动扩缩功能,无缝管理容器工作负载。
所有这些功能均随 GKE on GDC 标准提供,并且可用于通过受管 Kubernetes 服务创建的集群。
GDC 集群架构
Kubernetes 集群在逻辑上彼此分离,以提供不同的故障网域和隔离保证。在某些情况下,它们甚至在物理上是分开的。
您可以将 Kubernetes 集群配置为共享集群或标准集群。共享集群跨多个项目。标准集群的范围限定为单个项目。如需了解详情,请参阅 Kubernetes 集群配置。
Kubernetes 集群由控制平面和称为“节点”的工作器机器组成。控制平面和节点构成 Kubernetes 集群编排系统。GKE on GDC 管理集群的整个底层基础架构,包括控制平面和所有系统组件。您需要负责管理运行容器化工作负载的工作器节点。
下图显示了 Kubernetes 集群的架构:

此图显示了一个包含以下组件的 Kubernetes 集群:
- 控制平面,其中包括 API 服务器和预定义的服务,例如存储和默认 Pod 调度。
- 运行容器工作负载的工作器节点。
- GDC 服务,例如由 GKE on GDC 代管式服务提供的 VPC 网络和负载均衡。
关于控制平面
控制平面运行 Kubernetes API 服务器、调度器和核心资源控制器等进程。GKE on GDC 管理从集群创建到删除的控制平面生命周期。其中包括对控制平面上运行的 Kubernetes 版本的升级。GDC 会自动执行这项升级工作,如果您希望在安排的自动升级时间之前进行升级,也可以请求手动执行。
控制平面和 Kubernetes API
控制平面是集群的统一端点。您可以通过 Kubernetes API 调用与控制平面进行交互。控制平面运行 Kubernetes API 服务器进程 (kube-apiserver) 以处理 API 请求。您可以通过以下方式调用 Kubernetes API:
- 直接调用:KRM
- 间接调用:Kubernetes 命令行客户端,例如 kubectl CLI 或 GDC 控制台。
API 服务器进程是集群所有通信的中心。所有内部集群组件(如节点、系统进程和应用控制器)都充当 API 服务器的客户端。
您的 API 请求会告诉 Kubernetes 集群中对象的所选状态。Kubernetes 会尝试持续保持该状态。Kubernetes 支持您以命令方式或声明方式配置 API 中的对象。
工作器节点管理
控制平面会管理集群的所有节点上运行的内容。控制平面安排工作负载并管理工作负载的生命周期、扩缩和升级。此外,控制平面还会管理这些工作负载的网络和存储资源。控制平面和节点使用 Kubernetes API 相互通信。
节点简介
节点是运行容器化应用和其他工作负载的工作器机器。各个机器是 GKE on GDC 创建的虚拟机 (VM)。控制平面会管理和接收每个节点自行报告的状态更新。
节点运行支持容器(容器构成了集群的工作负载)所必需的服务。这些服务包括运行时和 Kubernetes 节点代理 (kubelet)。该节点代理会与控制平面通信,并负责启动和运行被调度到该节点上的容器。
GKE on GDC 还运行多个系统容器,这些容器作为每个节点的代理(称为 DaemonSet)运行,可提供日志收集和集群内网络连接等功能。
节点会分组到节点池中,节点池是集群中共享相同配置和特征的一组节点。您无法在节点池中配置单个节点。
如果您要调度的 pod 比其他 pod 需要更多的资源(例如更多内存或本地磁盘空间),则自定义节点池会非常有用。如果您需要更好地控制 Pod 的调度,可以使用节点污点。
如需了解详情,请参阅管理节点池。
Kubernetes 集群配置
借助 GKE on GDC 服务,您可以使用以下集群配置来管理组织中的容器工作负载:
- 共享集群:组织范围的 Kubernetes 集群,跨多个项目,不由单个项目管理,而是附加到这些项目。
- 标准集群:项目范围的 Kubernetes 集群,用于管理项目内的集群资源,无法跨多个项目。
您可以选择最符合您的容器工作负载管理要求的集群。如需了解详情,请参阅 Kubernetes 集群配置。
集群中的 GPU 工作负载
GDC 为 Kubernetes 集群提供 NVIDIA GPU 支持,并将 GPU 设备作为用户工作负载运行。例如,您可能更喜欢在 GPU 环境中运行人工智能 (AI) 和机器学习 (ML) Notebook。您必须通过为集群预配 GPU 机器来配置集群以支持 GPU 设备。如需查看 GDC 中 Kubernetes 集群支持的机器类型列表,请参阅集群节点机器。
GPU 是静态分配的。前四个 GPU 始终专用于预训练 AI 和 ML API 等工作负载。这些 GPU 不在 Kubernetes 集群上运行。剩余的 GPU 可供 Kubernetes 集群使用。AI 和 ML Notebook 在 Kubernetes 集群上运行。
请务必为正确的集群类型分配 GPU 机器,以便在集群中运行 AI 和 ML API 等组件。如需了解详情,请参阅创建共享集群或创建标准集群。
GKE on GDC 的限制
以下 GKE 功能是 GKE on GDC 不支持的限制:
- 自动化集群管理
- 自动节点修复:集群监控功能可在节点运行不正常时自动修复节点,从而减少手动干预的需求。
- 自动集群升级:自动升级集群的控制平面和工作器节点的 Kubernetes 版本,以确保集群运行受支持且安全的版本。
- 集群自动扩缩:根据工作负载需求自动调整集群大小,方法是添加或移除节点。
- GKE Autopilot:一种全代管式运维模式,可处理基础设施管理。
- Pod 纵向自动扩缩:根据历史使用情况自动调整集群 Pod 的 CPU 和内存请求及限制。
- 多云
- 关联多云集群:在其他云环境中创建集群,并通过Google Cloud 控制台进行管理。
- Connect 网关:使用 Google Cloud 身份连接到其他云提供商的集群以进行身份验证。
- 多集群 Ingress:跨集群部署共享的负载均衡资源。
- 操作
- 多可用区资源管理:集群及其容器作为区域或全球性资源跨多个可用区。
- Windows 容器支持:用于在 Windows 主机上运行应用的隔离环境。