Rimuovi gli indirizzi IP statici da un cluster

Questo documento mostra come rimuovere gli indirizzi IP statici da un cluster in Google Distributed Cloud.

Quando crei un cluster che utilizza indirizzi IP statici per i nodi, specifichi un insieme di indirizzi IP in un file di blocco IP. Se in un secondo momento ti rendi conto di aver specificato più indirizzi IP del necessario, puoi rimuoverne alcuni dal cluster.

Rimuovere gli indirizzi IP da un cluster utente

Assicurati che rimangano indirizzi IP sufficienti dopo la rimozione. Hai bisogno di un indirizzo IP per ogni nodo del cluster più un indirizzo IP aggiuntivo da utilizzare per un nodo temporaneo durante gli upgrade. Ad esempio, se hai tre nodi cluster, dovrai avere quattro indirizzi IP rimanenti dopo la rimozione.

Segui questi passaggi:

  1. Il cluster di amministrazione ha una risorsa personalizzata OnPremUserCluster per ogni cluster utente associato. Nel cluster di amministrazione, modifica la risorsa personalizzata OnPremUserCluster per il tuo cluster utente:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG edit onpremusercluster USER_CLUSTER_NAME \
        --namespace USER_CLUSTER_NAME-gke-onprem-mgmt
    

    Sostituisci quanto segue:

    • ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione
    • USER_CLUSTER_NAME: il nome del tuo cluster utenti
  2. Rimuovi gli indirizzi IP selezionati dalla sezione ipBlocks:

    network:
      ...
      ipMode:
        ipBlocks:
        - gateway: 198.51.100.254
          ips:
          - hostname: user-host1
            ip: 198.51.100.1
          - hostname: user-host2
            ip: 198.51.100.2
          - hostname: user-host3
            ip: 198.51.100.3
          - hostname: user-host4
            ip: 198.51.100.4
          - hostname: user-host5
            ip: 198.51.100.5
          netmask: 255.255.255.0
        type: static
    
  3. Chiudi la sessione di modifica.

  4. Nel cluster utente, visualizza tutti gli oggetti Machine nello spazio dei nomi predefinito:

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get machines --output yaml
    
  5. Elimina tutti gli oggetti Machine che utilizzano uno degli indirizzi IP rimossi. Ad esempio, supponiamo di aver rimosso l'indirizzo 198.51.100.1 e di scoprire che l'oggetto Macchina utilizza questo indirizzo:my-node-pool-1234

    Name:         my-node-pool-1234
    Namespace:    default
    Labels:       kubernetes.googleapis.com/cluster-name=my-cluster
                  kubernetes.googleapis.com/cluster-namespace=default
                  ...
    Annotations:  ...
                  vm-ip-address: 198.51.100.1
    

    Poi devi rimuovere l'oggetto my-node-pool-1234 Macchina.

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG delete machine my-node-pool-1234
    
  6. Dopo qualche minuto, visualizza gli indirizzi dei nodi del cluster:

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes --output wide
    
  7. Verifica che gli indirizzi IP rimossi non vengano visualizzati nell'output. Ad esempio:

    myhost2   Ready ... 198.51.100.2
    myhost3   Ready ... 198.51.100.3
    myhost4   Ready ... 198.51.100.4
    

Rimuovere indirizzi IP da un cluster di amministrazione

Assicurati che rimangano indirizzi IP sufficienti dopo la rimozione. Hai bisogno di un indirizzo IP per il nodo del control plane del cluster di amministrazione, di due indirizzi per i nodi aggiuntivi e di un indirizzo IP aggiuntivo da utilizzare per un nodo temporaneo durante gli upgrade. Inoltre, per ogni cluster utente associato, devi avere uno o tre indirizzi per il control plane del cluster utente. Ogni cluster utente ad alta disponibilità (HA) richiede tre nodi nel cluster di amministrazione per il control plane del cluster utente. Ogni cluster utente non HA richiede un nodo nel cluster di amministrazione per il control plane del cluster utente.

Ad esempio, supponiamo che il cluster di amministrazione sia associato a un cluster utente ad alta disponibilità e a un cluster utente non ad alta disponibilità. Dopo la rimozione, devono rimanere otto indirizzi IP per ospitare i seguenti nodi:

  • Nodo del control plane del cluster di amministrazione
  • Due nodi aggiuntivi
  • Tre nodi per il control plane del cluster utente HA
  • Un nodo per il control plane del cluster utente non HA
  • Un nodo temporaneo da utilizzare durante gli upgrade

Segui questi passaggi:

  1. Determina l'indirizzo IP utilizzato per il nodo del control plane del cluster di amministrazione:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes --output wide
    

    Nell'output, individua il nodo elencato come control plane. Prendi nota del suo indirizzo IP.

    gke-admin-master-hdn4z   Ready   control-plane,master … 198.51.100.101
    ...
    
  2. Nel cluster di amministrazione, modifica la risorsa personalizzata OnPremAdminCluster:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG edit onpremadmincluster --namespace kube-system
    

    Sostituisci ADMIN_CLUSTER_KUBECONFIG con il percorso del file kubeconfig del cluster di amministrazione.

  3. Rimuovi gli indirizzi IP selezionati dalla sezione ipBlocks. Assicurati di non rimuovere l'indirizzo IP utilizzato per il nodo del control plane del cluster di amministrazione.

    network:
      ...
      ipMode:
        ipBlocks:
        - gateway: 198.51.100.254
          ips:
          - hostname: admin-host1
            ip: 198.51.100.101
          - hostname: admin-host2
            ip: 198.51.100.102
          - hostname: admin-host3
            ip: 198.51.100.103
          - hostname: admin-host4
            ip: 198.51.100.104
          - hostname: admin-host5
            ip: 198.51.100.105
          - hostname: admin-host6
            ip: 198.51.100.106
          - hostname: admin-host7
            ip: 198.51.100.107
          - hostname: admin-host8
            ip: 198.51.100.108
          - hostname: admin-host9
            ip: 198.51.100.109
          netmask: 255.255.255.0
        type: static
    
  4. Chiudi la sessione di modifica.

  5. Nel cluster di amministrazione, visualizza tutti gli oggetti Machine nello spazio dei nomi predefinito:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get machines --output yaml
    
  6. Elimina tutti gli oggetti Machine che utilizzano uno degli indirizzi IP rimossi. Ad esempio, supponiamo di aver rimosso l'indirizzo 198.51.100.102 e di scoprire che l'oggetto gke-admin-node- Machine utilizza questo indirizzo:

    Name:         gke-admin-node-5678
    Namespace:    default
    ...
    Status:
    Addresses:
    Address:       198.51.100.102
    Type:          ExternalIP
    ...
    

    Poi devi rimuovere l'oggetto gke-admin-node-5678 Macchina.

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG delete machine gke-admin-node-5678
    
  7. Visualizza gli indirizzi dei nodi del cluster:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes --output wide
    
  8. Verifica che gli indirizzi IP rimossi non vengano visualizzati nell'output. Ad esempio:

    gke-admin-master-hdn4z  Ready  control-plane,master  198.51.100.101
    gke-admin-node-abcd   Ready ... 198.51.100.103
    gke-admin-node-efgh   Ready ... 198.51.100.104
    my-user-cluster-ijkl  Ready ... 198.51.100.105
    my-user-cluster-mnop  Ready ... 198.51.100.106
    my-user-cluster-qrst  Ready ... 198.51.100.107
    my-user-cluster-uvwx  Ready ... 198.51.100.108