正如您在集群生命周期指南中所读到的那样,作为 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 部署无状态应用。如需了解如何在 GKE 上部署无状态 Linux 应用,请参阅部署无状态 Linux 应用。您还可以了解如何部署无状态 Windows Server 应用。
有状态应用和存储
需要保存在其 Pod 生命周期结束后仍存在的数据的应用称为有状态应用。您或您的管理员可以使用 Kubernetes PersistentVolume 对象预配此存储空间。在 GKE 中,PersistentVolume 存储由 Compute Engine 磁盘提供支持。如需了解如何在 GKE 上部署简单的有状态应用,请参阅部署有状态应用。
如果您需要有状态应用的数据保留在数据库中,而不是与集群生命周期相关联的存储空间中,GKE 提供了以下选项:
- 全代管式数据库:代管式数据库(例如 Cloud SQL 或 Spanner)可提供减少的运维开销,并且针对 Google Cloud 基础架构进行了优化。 与直接在 Kubernetes 中部署的数据库相比,代管式数据库需要的维护和运营工作量更少。
- Kubernetes 应用:您可以在 GKE 集群上部署和运行数据库实例(例如 MySQL 或 PostgreSQL)。
如需详细了解 GKE 中的数据选项,请参阅 GKE 中的数据和在 GKE 上规划数据库部署。
AI/机器学习工作负载
GKE 对部署 AI/ML 工作负载提供了丰富的支持。这包括支持在专用硬件上训练和部署模型,以及与分布式计算和数据处理框架灵活集成。您可以通过以下指南开始详细了解:
- GKE 中的 TPU 简介介绍了如何在 GKE 中将 Cloud TPU 加速器用于 AI/ML 工作负载。GKE 为 TPU 节点和节点池生命周期管理提供全面支持,包括创建、配置和删除 TPU 虚拟机。您可以在 Standard 集群和 Autopilot 集群上部署 TPU 工作负载。
- GKE 中的 GPU 简介介绍了如何在 GKE 工作负载中请求和使用 GPU 硬件。
具有其他特殊要求的工作负载
GKE 提供了一些功能和指南,可帮助您部署具有其他特殊要求的工作负载,包括需要特定节点架构的应用,或者需要其 Pod 在同一节点或单独的节点上运行的应用。您可以通过以下指南详细了解如何部署其中的一些功能:
- Autopilot 中的计算类介绍了如何在 Autopilot 集群上部署应用时选择特定计算架构来调度 Pod。对于标准集群,您可以在创建集群时直接指定要为节点使用的机器族。
- 自定义计算类简介介绍了如何创建自定义计算类,以便在 Autopilot 和标准集群上为应用指定硬件选项时更加灵活。
- 在 GKE 中配置工作负载分离介绍了如何确保应用的 Pod 在同一或不同的底层机器上运行。
- GKE Sandbox 介绍了如何在部署未知或不可信的工作负载时使用沙盒 Pod 保护主机内核。
观察工作负载
GKE 提供了一系列功能来监控工作负载及其运行状况,包括在 Google Cloud 控制台中一目了然地概览工作负载状态和指标,以及更深入的指标、日志和提醒。
- 如需详细了解如何在 Google Cloud 控制台中使用 GKE 页面,请参阅 Google Cloud 控制台
- 如需详细了解 GKE 以及 Google Cloud 的可观测性,请参阅 GKE 的可观测性。
管理工作负载部署
如果您或您的管理员想要设置持续集成和持续交付 (CI/CD) 流水线来部署工作负载,可以参阅面向 GKE 的持续集成和持续交付最佳实践,了解适用于 GKE 的 CI/CD 最佳实践和准则,以及使用特定工具和产品设置 CI/CD 流水线的教程。
后续步骤
详细了解用于处理 GKE 的工具:
如需了解如何使用 Cloud Code 简化从 IDE 部署的流程,请参阅我们的从 IDE 部署和更新教程。