部署工作负载


正如您在集群生命周期指南中所读到的,作为 GKE 用户,您通常会使用 Google Cloud 工具进行集群管理,并使用 kubectl 等 Kubernetes 工具执行集群内部任务,例如部署应用。这意味着,如果您已经熟悉在其他 Kubernetes 实现上部署工作负载,那么在 GKE 上部署工作负载应该会涉及许多相同的工作流程(如果您还不熟悉在 Kubernetes 上部署工作负载,请参阅部署以及开始了解 Kubernetes 中的其他资源)。

不过,GKE 还提供用于部署和管理工作负载的其他功能,包括可观测性工具、用于有状态应用的完全托管型数据库选项,以及用于特殊工作负载类型(包括 AI/机器学习工作负载)的特定硬件选项。

本页面简要介绍了如何为想要在 GKE 集群上部署工作负载的开发者和管理员部署工作负载,并提供了一些指向更详细文档的链接。您可以在 GKE 核心文档的部署...部分中找到更多具体指南和教程。

在阅读本页面之前,您应该先熟悉以下内容:

所需的角色

如果您不是项目所有者,则必须至少具有以下 Identity and Access Management (IAM) 角色才能部署工作负载:

  • Kubernetes Engine Cluster Viewer (roles/container.clusterViewer):此角色提供 container.clusters.get 权限,该权限是向 Google Cloud 项目中的集群进行身份验证所必需的。但您并未获得授权在这些集群内执行任何操作。您的集群管理员可以使用 IAM 或 Kubernetes RBAC 授权您在集群中执行其他操作。

    如需详细了解此角色中包含的权限或授予具有读写权限的角色,请参阅 IAM 文档中的 Kubernetes Engine 角色

如需详细了解 GKE 中的访问权限控制机制,请参阅访问权限控制

无状态应用

无状态应用是不将数据或应用状态存储到集群或永久性存储空间的应用。无状态应用可以直接从 Google Cloud 控制台中的工作负载菜单进行部署,也可以使用 Kubernetes API 进行部署。您可以在部署无状态 Linux 应用中了解如何在 GKE 上部署无状态 Linux 应用。如果您愿意,还可以了解如何部署无状态 Windows Server 应用

有状态应用和存储空间

需要保存超出其 Pod 生命周期的数据的应用称为有状态应用。您或您的管理员可以使用 Kubernetes PersistentVolume 对象来预配此存储空间。在 GKE 中,PersistentVolume 存储由 Compute Engine 磁盘提供支持。您可以在部署有状态应用中了解如何在 GKE 上部署简单的有状态应用。

如果您需要有状态应用的数据持久保留在数据库中,而不是与集群生命周期相关联的存储空间中,GKE 提供以下选项:

  • 全托管式数据库:托管式数据库(例如 Cloud SQLCloud Spanner)可降低运营开销,并针对 Google Cloud 基础设施进行了优化。 与直接在 Kubernetes 中部署的数据库相比,代管式数据库需要的维护和运营工作量更少。
  • Kubernetes 应用:您可以在 GKE 集群上部署和运行数据库实例(例如 MySQLPostgreSQL)。

如需详细了解 GKE 中的数据选项,请参阅 GKE 中的数据在 GKE 上规划数据库部署

AI/机器学习工作负载

GKE 可为部署 AI/机器学习工作负载提供丰富的支持。这包括支持在专用硬件上训练和部署模型,以及与分布式计算和数据处理框架灵活集成。您可以先参阅以下指南,了解更多信息:

  • GKE 中的 TPU 简介介绍了如何在 GKE 中使用 Cloud TPU 加速器来处理 AI/机器学习工作负载。GKE 为 TPU 节点和节点池生命周期管理提供全面支持,包括创建、配置和删除 TPU 虚拟机。您可以在 Standard 集群和 Autopilot 集群上部署 TPU 工作负载。
  • GKE 中的 GPU 简介介绍了如何通过 GKE 工作负载请求和使用 GPU 硬件。

具有其他特殊要求的工作负载

GKE 提供了一些功能和指南,可帮助您部署具有其他特殊要求的工作负载,包括需要特定节点架构的应用,或者需要其 Pod 在同一节点或不同节点上运行的应用。如需详细了解如何部署其中一些功能,请参阅以下指南:

  • Autopilot 中的计算类一文介绍了在 Autopilot 集群上部署应用时,如何选择特定的计算架构来调度 Pod。对于 Standard 集群,您可以在创建集群时直接指定要用于节点的机器家族。
  • 自定义计算类简介介绍了如何创建自定义计算类,以便在 Autopilot 集群和 Standard 集群上为应用指定硬件选项时,获得更高的灵活性。
  • 在 GKE 中配置工作负载分离一文介绍了如何确保应用的 Pod 在相同或不同的底层机器上运行。
  • GKE Sandbox 介绍了在部署未知或不受信任的工作负载时,如何使用沙盒 Pod 来保护主机内核。

观察工作负载

GKE 提供了一系列用于观测工作负载及其健康状况的功能,包括在 Google Cloud 控制台中一目了然地查看工作负载状态和指标,以及更深入的指标、日志和提醒。

管理工作负载部署

如果您或您的管理员想要设置持续集成和交付 (CI/CD) 流水线来部署工作负载,可以参阅 GKE 持续集成和交付最佳实践,了解有关 CI/CD 的 GKE 特定最佳实践和指南,还可以参阅有关使用特定工具和产品设置 CI/CD 流水线的教程。

后续步骤