创建和管理集群

本页面介绍如何创建和管理 Google Distributed Cloud 联网配置集群资源。如需详细了解 Distributed Cloud Connected 集群,请参阅 Distributed Cloud Connected 的工作原理。

前提条件

在创建 Distributed Cloud 连接集群之前,您必须在目标 Google Cloud 项目中启用所需的 API。为此,您必须在 Google Cloud 项目中拥有以下角色之一:

  • Owner (roles/owner)
  • Editor (roles/editor)
  • Service Usage Admin (roles/serviceusage.serviceUsageAdmin)

如需详细了解这些角色,请参阅基本角色。如需了解如何授予角色,请参阅授予单个角色。

如需创建 Distributed Cloud 连接集群,请启用以下 API:

  • anthos.googleapis.com
  • anthosaudit.googleapis.com
  • anthosgke.googleapis.com
  • cloudresourcemanager.googleapis.com
  • connectgateway.googleapis.com
  • container.googleapis.com
  • edgecontainer.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • gkeonprem.googleapis.com
  • iam.googleapis.com
  • kubernetesmetadata.googleapis.com
  • logging.googleapis.com
  • monitoring.googleapis.com
  • opsconfigmonitoring.googleapis.com
  • serviceusage.googleapis.com
  • stackdriver.googleapis.com
  • storage.googleapis.com
  • sts.googleapis.com

如需了解如何启用 API,请参阅启用服务。

创建 Distributed Cloud 连接集群时,适用以下规则:

  • 您必须在自己的 Google Cloud 项目中创建 Distributed Cloud 连接集群。Distributed Cloud 连接集群无法与任何其他类型的集群(包括非 Distributed Cloud 连接集群)共存于同一 Google Cloud 项目在同一 Google Cloud 项目中将 Distributed Cloud 连接的集群与任何其他类型的集群混用可能会导致数据丢失。
  • 如果您在 Distributed Cloud 连接集群之间重新分配节点,系统会清除该节点并将其重置为默认配置。
  • 默认情况下,本地控制平面工作负载以高可用性模式运行,具有三个副本,分布在由 Distributed Cloud 自动选择的三个节点上。除非集群中的节点少于三个,或者您专门将集群配置为使用一个节点来运行本地控制平面工作负载,否则情况就是如此。您还可以使用 --control-plane-machine-filter 标志指定高可用性模式的三个节点。不支持其他任何节点组合。
  • 运行本地控制平面工作负载的节点也会运行应用工作负载。
  • 本地控制平面端点的 IP 地址可在本地网络上访问。您必须确保本地网络的安全配置可防止外部访问这些 IP 地址。

在创建集群之前,请先熟悉以下主题:

创建集群

如需创建 Distributed Cloud 连接集群,请完成本部分中的步骤。创建集群是在 Distributed Cloud Connected 上部署工作负载所需的多个步骤之一。

如需完成此任务,您必须在 Google Cloud 项目中拥有 Edge Container Admin 角色 (roles/edgecontainer.admin)。

控制台

  1. 在 Google Cloud 控制台中,前往 Kubernetes 集群页面。

    转到集群

  2. 点击创建。

  3. 在创建集群页面上,点击本地标签页。

  4. 点击分布式云边缘选项旁边的配置。

  5. 在集群基本信息页面上,提供以下信息:

    • 名称:用于标识此集群的唯一名称。此名称必须符合 RFC 1213 标准,并且只能包含小写字母数字字符和连字符 (-)。它必须以字母数字字符开头和结尾。
    • 位置:您要在其中创建此集群的 Google Cloud 区域。
    • 每个节点的默认 Pod 数上限:要在相应集群中的每个节点上执行的 Kubernetes Pod 的所需上限数量。
    • 标签:点击 添加标签,即可向相应集群添加一个或多个标签。
  6. 在左侧导航栏中,点击 控制平面。

  7. 在控制平面页面上,提供以下信息:

    • 为控制平面位置选择本地。
    • 选择目标 Distributed Cloud connected 项目。
    • 选择目标 Distributed Cloud connected 可用区。
    • (可选)指定过滤条件以选择要添加到集群的特定 Distributed Cloud 机器。
    • 指定是否要将此集群设为高可用性集群。
    • 指定是否允许共享部署工作负载。这样一来,您的工作负载就可以在运行集群控制平面的节点上运行。
  8. 在左侧导航栏中,点击网络。

  9. 在网络页面上,提供以下信息:

    • 集群默认 Pod 地址范围:在此集群上运行的 Kubernetes Pod 所需的 IPv4 CIDR 块。
    • 服务地址范围:在此集群上运行的 Kubernetes 服务的所需 IPv4 CIDR 地址块。

    如需了解详情,请参阅Distributed Cloud Pod 和服务网络地址分配。

  10. 在左侧导航栏中,点击授权。

  11. 在授权页面上,提供目标 Google Cloud 项目中获授权可修改集群资源的用户账号的名称。

  12. 通过执行以下操作之一,将节点池分配给集群:

    • 如需将现有节点池分配给此集群,请在左侧导航栏的节点池部分中选择现有节点池,并验证节点池详情页面上的节点池配置是否正确。
    • 如需创建要分配给此集群的新节点池,请点击 添加节点池,然后在节点池详情页面上提供以下信息:
      • 节点池名称:用于标识相应节点池的唯一名称。
      • 节点池标签:点击 添加标签,为相应节点池添加一个或多个标签。
      • 工作器节点偏好设置:选择要分配给此节点池的 Distributed Cloud 连接节点。
  13. 如需创建 Distributed Cloud 连接集群,请点击创建。

gcloud

使用 gcloud edge-cloud container clusters create 命令:

gcloud edge-cloud container clusters create CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION \
    --fleet-project=FLEET_PROJECT_ID \
    --cluster-ipv4-cidr=CLUSTER_IPV4_CIDR_BLOCK \
    --services-ipv4-cidr=SERVICE_IPV4_CIDR_BLOCK \
    --default-max-pods-per-node=MAX_PODS_PER_NODE \
    --release-channel RELEASE_CHANNEL \
    --control-plane-node-storage-schema CONTROL_PLANE_STORAGE_SCHEMA \
    --control-plane-kms-key=CONTROL_PLANE_KMS_KEY \
    --control-plane-node-location=CONTROL_PLANE_LOCATION \
    --control-plane-node-count=CONTROL_PLANE_NODE_COUNT \
    --control-plane-machine-filter=CONTROL_PLANE_NODE_FILTER \
    --control-plane-shared-deployment-policy=CONTROL_PLANE_NODE_SHARING \
    --external-lb-address-pools=IPV4_DATA_PLANE_ADDRESSES \
    --version SOFTWARE_VERSION \
    --offline-reboot-ttl REBOOT_TIMEOUT \
    --default-container-runtime RUNTIME_CLASS \
    --enable-google-group-authentication GROUP_AUTHENTICATION
 

替换以下内容:

  • CLUSTER_ID:用于标识相应集群的唯一名称。 此名称必须符合 RFC 1213 标准,并且只能包含小写字母数字字符和连字符 (-)。它必须以字母数字字符开头和结尾。
  • PROJECT_ID:目标 Google Cloud 项目的 ID。
  • REGION:创建集群的 Google Cloud 区域。
  • FLEET_PROJECT_ID:集群注册到的舰队宿主项目的 ID。如果省略此标志,则 Distributed Cloud Connected Cluster 项目将用作舰队宿主项目。
  • CLUSTER_IPV4_CIDR_BLOCK:在此集群上运行的 Kubernetes Pod 的 IPv4 CIDR 地址块。
  • SERVICE_IPV4_CIDR_BLOCK:在此集群上运行的 Kubernetes 服务的 IPv4 CIDR 地址块。
  • MAX_PODS_PER_NODE(可选):可在相应集群中每个节点上运行的 Kubernetes Pod 数上限。如果省略,则默认为 110。 此数量可能会受到 Pod 的 CIDR 地址块大小的限制。
  • RELEASE_CHANNEL(可选):指定您希望此集群运行的 Distributed Cloud 软件版本的发布渠道。有效值为 REGULAR(启用自动集群升级)和