创建 Alpha 版集群


本页面介绍如何创建 Google Kubernetes Engine (GKE) Alpha 版集群,该集群是在 GKE 中启用了 Kubernetes Alpha 版功能的集群。您还可以详细了解集群配置选项集群架构

准备工作

在开始之前,请确保您已执行以下任务:

  • 启用 Google Kubernetes Engine API。
  • 启用 Google Kubernetes Engine API
  • 如果您要使用 Google Cloud CLI 执行此任务,请安装初始化 gcloud CLI。 如果您之前安装了 gcloud CLI,请运行 gcloud components update 以获取最新版本。

为 GKE 设置 IAM 服务账号

GKE 使用关联到节点的 IAM 服务账号来运行日志记录和监控等系统任务。这些节点服务账号必须至少拥有项目的 Kubernetes Engine Default Node Service Account (roles/container.defaultNodeServiceAccount) 角色。默认情况下,GKE 会将 Compute Engine 默认服务账号(在您的项目中自动创建)用作节点服务账号。

如需向 Compute Engine 默认服务账号授予 roles/container.defaultNodeServiceAccount 角色,请完成以下步骤:

控制台

  1. 前往欢迎页面:

    前往“欢迎”页面

  2. 项目编号字段中,点击 复制到剪贴板
  3. 转到 IAM 页面:

    转到 IAM

  4. 点击 授予访问权限
  5. 新的主账号字段中,指定以下值:
    PROJECT_NUMBER-compute@developer.gserviceaccount.com
    PROJECT_NUMBER 替换为您复制的项目编号。
  6. 选择角色菜单中,选择 Kubernetes Engine Default Node Service Account 角色。
  7. 点击保存

gcloud

  1. 找到您的 Google Cloud 项目编号:
    gcloud projects describe PROJECT_ID \
        --format="value(projectNumber)"

    PROJECT_ID 替换为您的项目 ID。

    输出内容类似如下:

    12345678901
    
  2. roles/container.defaultNodeServiceAccount 角色授予 Compute Engine 默认服务账号:
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \
        --role="roles/container.defaultNodeServiceAccount"

    PROJECT_NUMBER 替换为上一步中的项目编号。

创建 Alpha 版集群

您可以使用 gcloud CLI 或 Google Cloud 控制台创建 Alpha 版集群。

gcloud

运行以下命令:

gcloud container clusters create CLUSTER_NAME \
    --enable-kubernetes-alpha \
    --no-enable-autorepair \
    --no-enable-autoupgrade \
    --region COMPUTE_REGION

替换以下内容:

  • CLUSTER_NAME:您为集群选择的名称。
  • COMPUTE_REGION:集群的 Compute Engine 区域。对于区域级集群,请使用 --zone COMPUTE_ZONE 选项。
  • --cluster-version VERSION:(可选)指定要在集群中运行的 GKE 版本。如果忽略,则集群将运行版本控制和升级中记录的当前默认版本。

我们强烈建议您指定节点可以使用的具有最低权限的 IAM 服务账号,而不是 Compute Engine 默认服务账号。如需了解如何创建具有最低权限的服务账号,请参阅使用最小权限服务账号

如需在 gcloud CLI 中指定自定义服务账号,请在您的命令中添加以下标志:

--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

SERVICE_ACCOUNT_NAME 替换为具有最低权限的服务账号的名称。

系统将显示一条警告,提示您 Alpha 版集群不会升级,30 天后会将其删除:

This will create a cluster with all Kubernetes Alpha features enabled.
- This cluster will not be covered by the GKE SLA and should
  not be used for production workloads.
- You will not be able to upgrade the master or nodes.
- The cluster will be deleted after 30 days.

控制台

  1. 转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。

    转到 Google Kubernetes Engine

  2. 点击 创建

  3. 集群基本信息部分,完成以下操作:

    1. 为集群输入名称
    2. 对于位置类型,选择可用区,然后为您的集群选择所需的可用区
    3. 如果要创建多可用区集群,请选中指定默认节点位置复选框,然后选择您希望运行节点池的其他可用区。
    4. 发布渠道下拉列表中,选择无渠道

    5. 可选:从版本下拉列表中指定控制平面版本。

  4. 可选(适用于 GKE Enterprise):如果您要将新集群注册到舰队,请前往舰队注册部分,然后按照 Google Cloud 控制台有关创建和注册新集群的说明完成集群注册。

  5. 在导航窗格的节点池下,点击默认池 (default-pool)。

  6. 节点池详情部分,完成以下操作:

    1. 为默认节点池输入一个名称
    2. 可选:选择节点版本
    3. 输入要在集群中创建的节点数。您必须具有节点及其资源(例如防火墙路由)的可用资源配额
    4. 可选:您可以选择停用节点自动升级,但我们建议您在选择此选项之前先查看停用节点自动升级功能之前的注意事项
    5. 清除启用自动升级启用自动修复
  7. 在导航窗格的节点池下,点击节点

  8. 映像类型下拉列表中,选择节点映像

  9. 选择要用于实例的默认机器配置。每种机器类型的计费方式都各不相同。默认机器类型为 e2-medium。如需了解机器类型价格信息,请参阅机器类型价格表

  10. 启动磁盘类型下拉列表中,选择磁盘类型

  11. 输入启动磁盘大小

  12. 可选:在导航窗格的节点池下,点击安全

  13. (可选)为节点指定自定义 IAM 服务账号:
    1. 高级设置页面中,展开安全部分。
    2. 服务账号菜单中,选择您想使用的服务账号。

    我们强烈建议您指定节点可以使用的具有最低权限的 IAM 服务账号,而不是 Compute Engine 默认服务账号。如需了解如何创建具有最低权限的服务账号,请参阅使用最小权限服务账号

  14. 在导航窗格的集群下,点击功能

  15. 点击在此集群中启用 Kubernetes Alpha 版功能

  16. 选择我明白相关后果,阅读并确认警告。

  17. 点击创建

使用 kubectl 与集群交互

创建集群后,您需要配置 kubectl,然后才能通过命令行与集群交互。

检查 Alpha 版集群何时到期

如需查看 Alpha 版集群何时到期,请运行以下命令:

gcloud container clusters list

后续步骤