21. Menginisialisasi multi-zona

Estimasi waktu penyelesaian: 5 menit

Pemilik komponen yang dapat dioperasikan: MZ

Profil keterampilan: engineer deployment

Halaman ini memberikan petunjuk untuk melakukan inisialisasi zona baru di semesta Google Distributed Cloud (GDC) dengan air gap. Pastikan zona dapat memenuhi semua persyaratan sebelum melanjutkan.

21.1. Buat namespace API global

Kemampuan multi-zona GDC diaktifkan melalui API global, yang merupakan server API Kubernetes yang didukung oleh cluster etcd yang mencakup beberapa zona. Namespace ini akan menampung semua resource yang diperlukan untuk mengaktifkan API global di zona ini.

Buat namespace:

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

Output berikut menunjukkan bahwa operasi berhasil:

namespace/global-kube-system created

21.2. Melakukan bootstrap multi-zona di zona pertama semesta

Petunjuk ini hanya berlaku untuk zona pertama di semesta. Jika digunakan di zona tambahan semesta, zona tersebut mungkin perlu di-bootstrap ulang.

Anda akan menyelesaikan langkah-langkah bootstrapping yang tersisa untuk multi-zona, termasuk penambahan zona yang bergabung, di Bootstrap multi-zona.

21.2.1. Buat resource Bootstrap

Gunakan konfigurasi Kubernetes administrator untuk cluster admin root. Buat resource 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. Memverifikasi bahwa API global berfungsi dengan baik

Setelah proses bootstrap API global selesai, lakukan pemeriksaan kondisi untuk mengonfirmasi bahwa API dalam kondisi baik:

  1. Dapatkan nama zona dari server API cluster admin root:

    export ZONE_NAME=$(kubectl get controlplane -n mz-system cp -o jsonpath='{.spec.zone}')
    
  2. Periksa stempel waktu heartbeat terakhir API global:

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

    Stempel waktu detak jantung diisi di status.lastHeartbeat. Stempel waktu diperbarui setiap 30 detik. API global yang sehat memiliki stempel waktu detak jantung terakhir yang tidak lebih dari 30 detik.