21. 初始化多可用区

预计完成时间:5 分钟

可操作组件所有者:MZ

技能配置文件:部署工程师

本页面介绍了如何在 Google Distributed Cloud (GDC) 网闸隔离配置环境中初始化新区域。在继续操作之前,请确认该区域可以满足所有要求

21.1. 创建全局 API 命名空间

GDC 多可用区功能通过全局 API 启用,该 API 是由跨多个可用区的 etcd 集群支持的 Kubernetes API 服务器。此命名空间将包含在此可用区中启用全局 API 所需的所有资源。

创建此命名空间:

export KUBECONFIG=/root/release/root-admin/root-admin-kubeconfig
kubectl create namespace global-kube-system

以下输出表明操作已成功完成:

namespace/global-kube-system created

21.2. 在宇宙的第一个可用区中启动多可用区

这些说明仅适用于功能区中的第一个区域。如果它们在宇宙的其他可用区中使用,则可能需要重新引导这些可用区。

您将在引导多可用区中完成多可用区的剩余引导步骤,包括添加任何加入的可用区。

21.2.1. 创建引导资源

使用根管理员集群的管理员 Kubernetes 配置。 创建 Bootstrap 资源:

cat <<EOF | kubectl apply -f -
apiVersion: kubeapi.mz.private.gdc.goog/v1alpha1
kind: Bootstrap
metadata:
  name: kube
  namespace: global-kube-system
spec:
  clusterType: root-admin
EOF

21.2.2. 验证全局 API 是否正常运行

在完成全局 API 启动过程后,执行健康状况检查以确认 API 运行正常:

  1. 从根管理员集群的 API 服务器获取可用区名称:

    export ZONE_NAME=$(kubectl get controlplane -n mz-system cp -o jsonpath='{.spec.zone}')
    
  2. 检查全局 API 的上次检测信号时间戳:

    kubectl get globalapizone -n mz-system ${ZONE_NAME} -o yaml
    

    心跳时间戳填充在 status.lastHeartbeat 中。时间戳每 30 秒更新一次。运行正常的全局 API 的最新心跳时间戳不超过 30 秒。