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. 建立 Bootstrap 資源

使用根管理員叢集的管理員 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 秒,即為正常。