22. Globalen Anycast-GlobalAddressPoolClaim erstellen

Geschätzte Bearbeitungszeit: 15 Minuten

Eigentümer der betriebsbereiten Komponente: KUB

Kompetenzprofil: Bereitstellungsingenieur

Die GlobalAddressPoolClaim-Ressource ist die Quelle, die alle Anycast-IP-Adressen im Air-Gap-Deployment von Google Distributed Cloud (GDC) zuweist.

Zum Erstellen der ersten GlobalAddressPoolClaim-Ressource während des Bootstrapping der globalen Steuerungsebene ist ein Anycast-CIDR erforderlich. Das Feld anycastCIDR ist der Block von IP-Adressen, der für das Anycast-Netzwerk mit mehreren Zonen verwendet wird.

So erstellen Sie die GlobalAddressPoolClaim-Ressource:

  1. Erstellen Sie die benutzerdefinierte GlobalAddressPoolClaim-Ressource:

    gdcloud system ipam create-gapc --anycast-cidr ANYCAST_CIDR --output-file OUTPUT_FILE
    

    Ersetzen Sie Folgendes:

    • ANYCAST_CIDR: Das Anycast-CIDR, das zum Erstellen des ursprünglichen GlobalAddressPoolClaim verwendet wird. Dies ist die Quelle für die Zuweisung aller Anycast-IP-Adressen in der GDC-Bereitstellung. Beispiel: 10.8.0.0/24
    • OUTPUT_FILE: Der Name der Ausgabedatei. Beispiel: global-address-pool-claim.yaml

    Ein Beispiel für die generierte YAML-Datei für die benutzerdefinierte GlobalAddressPoolClaim-Ressource sieht so aus:

    apiVersion: ipam.global.private.gdc.goog/v1alpha1
    kind: GlobalAddressPoolClaim
    metadata:
      namespace: gpc-system
      name: global-anycast-pool-ipv4-gapc
    spec:
      ipFamily: IPv4
      staticIPRanges:
      - size: 256
        startIPAddress: 10.8.0.0
    
  2. Fügen Sie in der OUTPUT_FILE einen weiteren GlobalAddressPoolClaim mit einer „---“-Zeile hinzu, die ihn von der global-anycast-pool-ipv4-gapc trennt. Das Hinzufügen funktioniert genau wie hier beschrieben:

    ---
    apiVersion: ipam.global.private.gdc.goog/v1alpha1
    kind: GlobalAddressPoolClaim
    metadata:
      namespace: gpc-system
      name: root-anycast-pool-ipv4-gapc
    spec:
      ipFamily: IPv4
      parentReference:
        name: global-anycast-pool-ipv4-gapc
        type: GlobalAddressPoolClaim
      size: 30
    
  3. Verwenden Sie die Kubernetes-Administratorkonfiguration für den Administrator-Root-Cluster und rufen Sie die Kubernetes-Administratorkonfiguration für die globale API ab:

    kubectl get secrets -n global-kube-system kube-admin-test-kubeconfig -ojsonpath="{.data.value}" | base64 -d > HOME_DIRECTORY/root-global-kubeconfig
    
  4. Leiten Sie den Port für die globale API mit der Kubernetes-Konfiguration des Administrators für den Stammadministratorcluster weiter:

    kubectl port-forward -n global-kube-system service/kube-svc 6449:6449 &> /dev/null &
    

    In diesem Schritt wird der Befehl zur Portweiterleitung im Hintergrund ausgeführt. Wenn der Vorgang unerwartet beendet wird, können Sie ihn mit demselben Befehl neu starten.

  5. Wenden Sie OUTPUT_FILE auf den globalen Administratorcluster an:

     kubectl apply -f OUTPUT_FILE --kubeconfig=GLOBAL_ROOT_ADMIN_KUBECONFIG
    
  6. Prüfen Sie, ob die Ressource GlobalAddressPoolClaim in Ihrer GDC-Umgebung verfügbar ist:

    kubectl --kubeconfig HOME_DIRECTORY/root-global-kubeconfig get globalAddressPoolClaim -A
    

    Die Ausgabe muss die folgenden beiden Einträge enthalten, wobei READY als True angezeigt wird:

    NAMESPACE      NAME                                        PARENTNAME                      READY   STARTIP
    gpc-system     global-anycast-pool-ipv4-gapc                                               True    10.201.128.0
    gpc-system     root-anycast-pool-ipv4-gapc                 global-anycast-pool-ipv4-gapc   True    10.201.128.0