21. Initialiser une configuration multizone

Temps estimé pour compléter l'atelier : 5 minutes

Propriétaire du composant exploitable : MZ

Profil de compétences : ingénieur de déploiement

Cette page explique comment initialiser une zone dans votre univers Google Distributed Cloud (GDC) isolé. Avant de continuer, vérifiez que la zone répond à toutes les exigences.

21.1. Créer un espace de noms d'API global

Les fonctionnalités multizones de GDC sont activées via l'API mondiale, qui est un serveur d'API Kubernetes soutenu par un cluster etcd couvrant plusieurs zones. Cet espace de noms hébergera toutes les ressources nécessaires pour activer l'API globale dans cette zone.

Créez l'espace de noms :

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

La sortie suivante indique que l'opération a réussi :

namespace/global-kube-system created

21.2. Amorcer plusieurs zones dans la première zone d'un univers

Ces instructions ne s'appliquent qu'à la première zone d'un univers. Si elles sont utilisées dans des zones supplémentaires d'un univers, ces zones devront peut-être être réamorçées.

Vous effectuerez les étapes d'amorçage restantes pour les zones multiples, y compris l'ajout de zones de jointure, dans Amorcer les zones multiples.

21.2.1. Créer la ressource Bootstrap

Utilisez la configuration Kubernetes de l'administrateur pour le cluster d'administrateur racine. Créez la ressource 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. Vérifier que l'API globale est en bon état

Une fois le processus d'amorçage de l'API globale terminé, effectuez des vérifications de l'état pour confirmer que l'API est en bon état :

  1. Obtenez le nom de la zone à partir du serveur d'API du cluster d'administrateur racine :

    export ZONE_NAME=$(kubectl get controlplane -n mz-system cp -o jsonpath='{.spec.zone}')
    
  2. Vérifiez le code temporel de la dernière pulsation de l'API globale :

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

    Le code temporel du battement cardiaque est renseigné dans status.lastHeartbeat. L'code temporel est mis à jour toutes les 30 secondes. Une API globale saine présente un code temporel de dernier signal de présence qui ne date pas de plus de 30 secondes.