选择 GKE 操作模式


本页面可帮助您选择最适合您的工作负载的 Google Kubernetes Engine (GKE) 操作模式。本页面适用于将 GKE 视为代管式 Kubernetes 提供方并希望了解 Google Cloud 中可用选项的平台管理员。如果您想要了解作为平台的 GKE 是否是容器化应用的最佳选择,请参阅 GKE 概览GKE 和 Cloud Run

GKE 为集群提供以下操作模式:

  • Autopilot 模式(推荐):GKE 管理底层基础架构,例如节点配置、自动扩缩、自动升级、基准安全配置和基准网络配置。
  • Standard 模式:您负责管理底层基础架构,包括配置各个节点。

集群创建后,您便无法将集群从 Standard 转换为 Autopilot。建议您阅读本页面,此外您还可以选择阅读 比较 Autopilot 和 Standard,以便做出明智的选择。

为何选择 GKE Autopilot 模式

Google 管理 GKE Autopilot 集群中的大多数基础架构,提供比 GKE Standard 模式代管程度更高的 Kubernetes 体验。Autopilot 集群的默认配置针对大多数生产工作负载进行了优化。默认情况下,GKE Autopilot 实现安全性、可伸缩性和费用优化方面的许多 Kubernetes 最佳实践。

在大多数情况下,我们建议在 Autopilot 上运行生产工作负载。

Autopilot 提供具有以下优势的默认配置:

  • 成本效益:您只需为工作负载在运行时使用的计算资源付费。您无需为节点上未使用的容量、系统 Pod、操作系统费用或未安排的工作负载付费。
  • 自动化:Google 负责管理节点、为您的应用创建新节点以及配置自动升级和自动修复。GKE 会根据流量自动扩缩节点和工作负载。
  • 更好的安全状况和可靠性:默认情况下,Autopilot 集群启用了许多 GKE 安全设置和 Kubernetes 最佳实践。当有安全补丁可用时,GKE 会自动将安全补丁应用于您的节点。

如需查看 GKE Autopilot 优势的完整列表,请参阅 GKE Autopilot 简介

为何选择 GKE Standard 模式

在 Standard 模式下,您管理集群和节点中的每个配置设置,包括管理“节点池”,即具有共同特征的节点组。责任共担模型下,Google 仍会管理您的控制平面,但您必须配置节点。您自己管理的设置包括:

  • 节点池:您创建和管理具有类似配置设置的节点组。
  • 安全性:GKE Standard 集群应用默认安全加固措施,但许多 GKE 安全功能默认不启用,例如适用于 GKE 的工作负载身份联合安全强化型 GKE 节点。您可以手动启用这些功能并配置设置。
  • 调度:您必须监控和设计工作负载,以便 GKE 可以在节点上高效调度它们,以尽量减少未使用的资源(装箱)。
  • 扩缩:您必须设置和配置节点自动预配,配置自动扩缩设置,并确保节点拥有的资源不会太多也不会太少。
  • 资源管理:您必须评估在 Standard 集群上运行的每个工作负载的资源需求,以确保资源请求满足工作负载要求。
  • 版本管理:在 Standard 中,自动 GKE 版本升级和发布渠道注册等最佳实践默认处于关闭状态。您可以在创建或更新集群时配置自动升级和 GKE 版本。

价格差异

Autopilot 与 Standard 的价格模式不同,如下所示:

  • Autopilot 模式:您只需为工作负载在运行时使用的计算资源付费。您不需要为节点上未使用的资源、操作系统运行费用、未安排的工作负载或系统工作负载付费。如需了解详情,请参阅 Autopilot 价格
  • Standard 模式:您需要为每个节点上的计算资源付费,而无论 Pod 是否在该节点上运行。您需要为未使用的资源付费,因此您应该管理工作负载调度,以尽量减少节点中的资源浪费。如需了解详情,请参阅 Standard 价格

确保 Standard 集群中的资源使用效率水平一致需要您持续监控集群的状态。在 Autopilot 集群中,GKE 会为您执行监控和管理。

在 Standard 集群中,您需要为节点上未使用的计算资源付费。您可以通过装箱来降低这些费用,在该方法中,您需要将尽可能多的 Pod 放在每个节点上,以避免浪费容量。装箱需要持续的工作负载管理和调度自定义。使用 Autopilot 集群时,您无需对工作负载进行装箱,因为您只需为工作负载使用的资源付费。

何时使用 Standard 而非 Autopilot

虽然我们建议为大多数工作负载使用 Autopilot,但是由于预配置的安全强化或默认集群配置,Autopilot 可能无法满足特定要求。在以下情况下,您应该考虑使用 Standard 模式,而非 Autopilot 模式:

  • 您需要对集群和节点配置进行精细控制,包括使用 SSH 直接连接到节点的功能。

  • 您希望安装或修改节点本身上运行的软件,例如更改节点操作系统。

  • 您希望自定义节点系统配置,例如设置 Linux 系统日志

  • 您想要执行 Autopilot 限制的操作,例如在 GKE 管理的命名空间(如 kube-system)中运行工作负载。我们建议您不要在这些命名空间中部署工作负载。

  • 您希望使用仅在 Standard 中可用的特定 GKE 功能,例如 Cloud TPU

  • 您希望测试开源 Kubernetes 中的 Alpha 版功能。

  • 您希望在集群中预配额外的未使用容量。

除非您有上述特定要求,否则我们建议您尝试为您的工作负载使用 Autopilot。如需查看设置 Autopilot 集群并公开 hello-world 应用的交互式演示,请打开 Google Cloud 控制台中的 Autopilot 演示:

打开演示

后续步骤