部署工作负载


正如您在集群生命周期指南中所读到的,作为 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。对于标准集群,您可以在创建集群时直接指定要为节点使用的机器系列。
  • 自定义计算类简介介绍了如何创建自定义计算类,以便在 Autopilot 集群和标准集群上为应用指定硬件选项时获得更大的灵活性。
  • 在 GKE 中配置工作负载隔离介绍了如何确保应用的 Pod 在同一或不同的底层机器上运行。
  • GKE Sandbox 介绍了如何在部署未知或不可信的工作负载时,使用沙盒 Pod 来保护主机内核。

观察工作负载

GKE 提供了一系列功能来观察工作负载及其运行状况,包括在 Google Cloud 控制台中一目了然地概览工作负载状态和指标,以及更深入的指标、日志和提醒。

管理工作负载部署

如果您或您的管理员想要设置持续集成和持续交付 (CI/CD) 流水线来部署工作负载,可以在适用于 GKE 的持续集成和持续交付最佳实践中找到适用于 GKE 的 CI/CD 最佳实践和指南,以及使用特定工具和产品设置 CI/CD 流水线的教程。

后续步骤