单区域 GKE 集群和工作负载

借助 Application Design Center 中的单区域 Google Kubernetes Engine (GKE) 模板,您可以在一个位置部署经济实惠的集群和 Web 工作负载。您可以使用单区域 GKE 集群模板来预配针对资源管理进行了优化的安全专用 GKE 集群。然后,您可以将其与单区域 GKE 工作负载模板(预览版)搭配使用,以部署 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 Chart 配置,这些配置已针对在 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 Chart。

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

  2. 在名称字段中,为应用输入一个唯一名称。

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

    1. 从项目列表中,选择您通过单区域 GKE 集群应用部署 GKE 集群的项目。

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

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

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

    5. 点击创建应用。

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

  4. 在 Helm chart 面板中,执行以下操作:

    1. 查看配置详情。

    2. 可选:根据您的独特需求自定义配置。

    3. 如需将 Helm Chart 部署到集群,请点击部署。

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

    几分钟后,Helm Chart 配置会部署到您的 GKE 集群。

后续步骤