22. Crea Anycast GlobalAddressPoolClaim globale

Tempo stimato per completare il corso: 15 minuti

Operable component owner: KUB

Profilo delle competenze: ingegnere del deployment

La risorsa GlobalAddressPoolClaim è l'origine che alloca tutti gli indirizzi IP Anycast nel deployment isolato di Google Distributed Cloud (GDC).

Per creare la risorsa GlobalAddressPoolClaim iniziale durante il bootstrap del control plane globale è necessario un CIDR Anycast. Il campo anycastCIDR è il blocco di indirizzi IP utilizzato per la rete anycast multizona.

Per creare la risorsa GlobalAddressPoolClaim:

  1. Crea la risorsa personalizzata GlobalAddressPoolClaim:

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

    Sostituisci quanto segue:

    • ANYCAST_CIDR: il CIDR Anycast utilizzato per creare l'GlobalAddressPoolClaim iniziale, ovvero l'origine per allocare tutti gli indirizzi IP Anycast nel deployment GDC. Ad esempio: 10.8.0.0/24.
    • OUTPUT_FILE: il nome del file di output. Ad esempio, global-address-pool-claim.yaml.

    Un esempio del file YAML della risorsa personalizzata GlobalAddressPoolClaim generato è simile al seguente:

    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. In OUTPUT_FILE, aggiungi un'altra GlobalAddressPoolClaim con una riga "---" che la separi da global-anycast-pool-ipv4-gapc. La parte di aggiunta è esattamente la stessa di quella che segue:

    ---
    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. Utilizza la configurazione Kubernetes dell'amministratore per il cluster di amministrazione root e recupera la configurazione Kubernetes dell'amministratore per l'API globale:

    kubectl get secrets -n global-kube-system kube-admin-test-kubeconfig -ojsonpath="{.data.value}" | base64 -d > HOME_DIRECTORY/root-global-kubeconfig
    
  4. Inoltra la porta per l'API globale utilizzando la configurazione Kubernetes dell'amministratore per il cluster di amministrazione root:

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

    Questo passaggio esegue il comando di port forwarding in background. Se la procedura si interrompe in modo imprevisto, puoi riavviarla eseguendo di nuovo lo stesso comando.

  5. Applica OUTPUT_FILE al cluster di amministrazione root globale:

     kubectl apply -f OUTPUT_FILE --kubeconfig=GLOBAL_ROOT_ADMIN_KUBECONFIG
    
  6. Verifica che la risorsa GlobalAddressPoolClaim sia disponibile nel tuo ambiente GDC:

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

    L'output deve includere le seguenti due voci, con READY visualizzato come True:

    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