单区域 GKE 集群和工作负载

在单个位置创建经济高效的 Google Kubernetes Engine (GKE) 集群和工作负载,并针对资源管理进行优化。本指南介绍了以下模板,您可以使用这些模板部署基本 Web 应用:

  • 单区域 GKE 集群模板:创建单区域应用所需的基础架构。此模板会设置一个安全、私有的 GKE 集群,并针对资源管理进行优化。

  • 单区域 GKE 工作负载预览版):部署 包含基本 Web 应用配置的 Helm 图表。 该工作负载配置为根据 CPU 负载进行扩缩,并确保在主动中断期间应用可用。

例如,您可以部署集群和工作负载模板来满足以下业务需求:

示例 业务需求 实现
内部业务线应用 内部应用需要在特定区域内严格遵守数据驻留要求,针对可预测的内部使用情况实现经济高效,并具有高可靠性。 使用单区域部署来确保数据存放区域。使用自动扩缩功能高效管理资源,以满足内部用户需求。
区域电子商务后端 电子商务平台需要在特定区域内实现高可用性,以确保服务不间断;需要可伸缩性,以应对销售活动期间的流量高峰;需要强大的安全性,以保护客户交易和数据。 创建多可用区集群配置,以提供区域高可用性。使用安全启动配置来增强敏感客户数据的安全态势。
区域数据处理和分析平台 用于处理和分析大型数据集的平台需要数据存放区域,以满足合规性和性能要求;需要针对间歇性批处理作业进行成本优化的计算;需要安全的数据访问。 单区域部署可确保数据保留在地理边界内。针对大型处理任务和空闲期扩缩资源。

架构

下图显示了模板中的组件和连接:

设计画布中连接到节点池的集群

下面介绍了此模板中的组件配置:

  • GKE Standard 集群: 经济高效的单区域集群,用于运行工作负载。

    下表介绍了此模板中的集群配置:

    配置 用途
    location 设置为 us-central1 将集群资源限制在单个地理区域内,确保数据存放区域,并最大限度地降低跨区域数据传输费用和延迟时间。
    initial_node_count 设置为 1 定义在首次预配集群时在集群的默认节点池中创建的初始节点。在区域级集群中,这是每个可用区的节点数。
    release_channel 设置为 {"channel":"REGULAR"} 确保 GKE 集群接收稳定且可预测的更新,从而在新功能和可靠性之间取得平衡。
    enable_intranode_visibility 设置为 true 在 VPC 流日志中启用节点内流量的可见性,这是网络监控、问题排查和安全分析所必需的。
    control_plane_endpoints_config 设置为 {"dns_endpoint_config":{"allow_external_traffic":true}} GKE 控制平面配置为公开访问,以便您在 Virtual Private Cloud (VPC) 网络之外管理集群。
  • GKE 节点池: 一组运行应用容器的工作器节点。

    下表介绍了此模板中的节点池配置:

    配置 用途
    location 设置为 us-central1 指定创建此节点池的区域。与集群的位置类似,这可确保节点池资源位于单个地理区域内。
    autoscaling 设置为 {"max_node_count":3, "min_node_count":1} 为此节点池配置集群自动扩缩器。 确保节点池始终至少保留一个节点,并将上限设置为三个节点,以控制费用和资源消耗。
    node_config 设置为 {"machine_type":"e2-medium", "oauth_scopes":["https://www.googleapis.com/auth/cloud-platform"], "shielded_instance_config":{"enable_secure_boot":true}} 对该池中的节点进行分组配置。机器类型是 CPU 和内存的平衡,适用于通用工作负载。定义授予服务帐号的访问权限。为安全强化型虚拟机实例启用安全启动,有助于防范启动级恶意软件。

Helm 图表配置

下表列出了 Helm 图表配置,这些配置已针对在 GKE 上部署和伸缩基本 Web 应用进行了自定义。

配置 用途
replicaCount: 2 创建两个初始副本,以建立初始级别的冗余。
image.repository: gcr.io/google-samples/hello-app 使用基本 Web 服务器 Docker 映像。
resources.requests: {"cpu": "100m", "memory": "128Mi"} 指定为每个 pod 保留的 CPU 和内存下限,确保可用资源和高效调度。
hpa: {"enabled": true, "minReplicas": 2, "maxReplicas": 10, "targetCPUUtilizationPercentage": 60} 激活 Pod 横向自动扩缩器,以根据 CPU 利用率自动调整 pod 数量(介于 2 到 10 之间),确保性能和成本效益。
service: {"type": "ClusterIP", "port": 80} 在标准 HTTP 端口上配置集群内的内部访问服务。
pdb: {"enabled": true, "minAvailable": 1} 启用 Pod 中断预算,以确保在主动中断期间至少有一个副本保持可用,从而维持高可用性。

创建 Web 应用

使用“单区域 GKE 集群和工作负载”模板部署 Web 应用。

部署 Web 基础架构

配置并部署“单区域 GKE 集群”模板,以创建 Web 工作负载运行的基础架构。

  1. 复制并部署 单区域 GKE 集群 模板作为应用。

    系统会在您选择的部署项目中创建一个 GKE 集群。

  2. 配置组件。详情请参阅以下内容:

  3. 点击部署 。应用会在几分钟后部署完毕。

  4. 应用详情 面板中,点击输出 标签页。

  5. 确定应用的 cluster_id 。部署 Helm 图表时,您将使用此信息。

部署 Web 工作负载

使用“单区域 GKE 工作负载”模板将 Web 工作负载部署到您创建的集群中。 您将部署包含 Web 工作负载配置的 Helm 图表。

  1. Google 目录 页面上,点击单区域 GKE 工作负载 模板中的创建新应用

  2. 名称 字段中,输入应用的唯一名称。

  3. GKE 部署目标 区域中,执行以下操作:

    1. 项目列表中,选择您在其中部署了 GKE 集群的项目(来自“单区域 GKE 集群”应用)。

    2. 区域 列表中,选择您在其中部署了 GKE 集群的区域。

    3. 集群 列表中,选择已部署的 GKE 集群。

    4. 命名空间 列表中,输入您在其中部署了 GKE 集群的命名空间。如果您未更改名称,请输入 default

    5. 点击创建应用

    系统会创建应用并显示配置文件。

  4. Helm 图表 面板中,执行以下操作:

    1. 查看配置详情

    2. 可选:自定义配置以满足您的独特需求。

    3. 如需将 Helm 图表部署到集群,请点击部署

      如需了解详细步骤,请参阅部署应用

    几分钟后,Helm 图表配置会部署到 GKE 集群。

后续步骤