21. マルチゾーンを初期化する

推定所要時間: 5 分

操作可能なコンポーネントのオーナー: MZ

スキル プロファイル: デプロイ エンジニア

このページでは、Google Distributed Cloud(GDC)エアギャップ ユニバースで新しいゾーンを初期化する手順について説明します。続行する前に、ゾーンがすべての要件を満たしていることを確認します。

21.1. グローバル API 名前空間を作成する

GDC のマルチゾーン機能は、複数のゾーンにまたがる etcd クラスタに支えられた Kubernetes API サーバーであるグローバル API を介して有効になります。この名前空間には、このゾーンでグローバル API を有効にするために必要なすべてのリソースが格納されます。

Namespace を作成します。

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 秒以内です。