默认情况下,Google Distributed Cloud 需要持续连接到Google Cloud 才能正常运行。这是因为,默认情况下,您使用 Google Distributed Cloud 创建的集群是云控制平面集群。换句话说,用于编排在此类集群上运行的工作负载的 Kubernetes 控制平面在 Google Cloud中运行。
为了提高 Distributed Cloud 的可靠性,您可以选择创建使用部署在 Distributed Cloud 硬件上的本地控制平面的 Distributed Cloud 集群。当与 Google Cloud 的连接中断时,此类集群会进入生存模式,您的工作负载会继续运行长达 7 天。
只有已部署本地控制平面的 Distributed Cloud 集群在与Google Cloud 的连接断开时才能进入可维护性模式。已部署的云控制平面在 Google Cloud 中运行的集群无法进入可续航模式。您无法将使用云控制平面的现有集群重新配置为使用本地控制平面。
创建具有本地控制平面的集群时,适用以下规则:
- 您必须在自己的 Google Cloud 项目中创建本地控制平面集群。本地控制平面集群无法与任何其他类型的集群(包括非分布式云集群)共存于同一 Google Cloud 项目中。在同一 Google Cloud 项目中将本地控制平面分布式云集群与任何其他类型的集群混用可能会导致数据丢失。
- 如果您在 Distributed Cloud 集群之间重新分配节点,系统会清除该节点并将其重置为默认配置。
- 默认情况下,本地控制平面工作负载以高可用性模式运行,具有三个副本,分布在由 Distributed Cloud 自动选择的三个节点上。除非集群中的节点少于三个,或者您专门将集群配置为使用一个节点来运行本地控制平面工作负载,否则情况就是如此。您还可以使用
--control-plane-machine-filter标志指定高可用性模式的三个节点。 不支持其他任何节点组合。 - 运行本地控制平面工作负载的节点也会运行应用工作负载。
- 本地控制平面端点的 IP 地址可在本地网络上访问。您必须确保本地网络的安全配置可防止外部访问这些 IP 地址。
在可维护性模式下,分布式云集群的运行方式如下:
- 通过 Google Cloud CLI、
kubectlCLI 和 Edge Container API 对工作负载的控制已停用。 - Distributed Cloud 软件更新、SLO 和硬件维修不可用。
- 与 Google Cloud 重新建立连接后,只有有限的日志和指标会与 Google Cloud 同步。
- 默认情况下,如果节点在集群与 Google Cloud断开连接时重新启动,则在重新建立与 Google Cloud 的连接之前,该节点无法重新加入其集群,因为其身份验证密钥无法刷新。您可以选择指定离线重启窗口,在此期间,节点可以在集群以可恢复模式运行时在重启后重新加入集群。如需了解详情,请参阅创建集群。
前提条件
在创建具有本地控制平面的 Distributed Cloud 集群之前,您必须在目标 Google Cloud 项目中启用所需的 API。为此,您必须在 Google Cloud 项目中拥有以下角色之一:
- Owner (
roles/owner) - Editor (
roles/editor) - Service Usage Admin (
roles/serviceusage.serviceUsageAdmin)
如需详细了解这些角色,请参阅基本角色。
如需了解如何授予角色,请参阅授予单个角色。
如需创建具有本地控制平面的 Distributed Cloud 集群,请启用以下 API:
anthos.googleapis.comanthosaudit.googleapis.comanthosgke.googleapis.comcloudresourcemanager.googleapis.comconnectgateway.googleapis.comcontainer.googleapis.comedgecontainer.googleapis.comgkeconnect.googleapis.comgkehub.googleapis.comgkeonprem.googleapis.comiam.googleapis.comlogging.googleapis.commonitoring.googleapis.comopsconfigmonitoring.googleapis.comserviceusage.googleapis.comstackdriver.googleapis.comstorage.googleapis.comsts.googleapis.com
如需了解如何启用 API,请参阅启用服务。
将 Google Cloud SDK 升级到 450.0.0 版或更高版本
您必须将 Google Cloud SDK 升级到 450.0.0 版或更高版本,才能创建运行 Distributed Cloud 软件版本 1.5.0 的本地控制平面集群。否则,创建此类集群将会失败。
创建具有本地控制平面的集群
如需创建具有本地控制平面的 Distributed Cloud 集群,您必须在创建集群时传递以下标志:
--control-plane-node-location指示 Distributed Cloud 在本地部署相应集群的控制平面工作负载。该值是目标 Distributed Cloud 可用区的名称。--control-plane-node-count(可选)指定运行本地控制平面工作负载的节点数。有效值为3(表示高可用性)和1(表示标准操作)。如果省略,则默认为3。--control-plane-machine-filter(可选)指定运行本地控制平面工作负载的节点列表(采用正则表达式格式)。如果省略,Distributed Cloud 会自动随机选择节点。--control-plane-shared-deployment-policy用于指定应用工作负载是否可以在运行本地控制平面工作负载的节点上运行。唯一的有效值为ALLOWED。如果省略,集群创建将失败。--external-lb-ipv4-address-pools指定以英文逗号分隔的 IPv4 地址、地址范围或子网列表,用于在分布式云负载均衡器后运行的服务的入站流量。
如需详细了解如何创建 Distributed Cloud 集群,请参阅创建集群。