Rimuovi gli indirizzi IP statici da un cluster

Questo documento mostra come rimuovere 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 blocchi IP. Se in un secondo momento ti rendi conto di aver specificato più indirizzi IP del necessario, puoi rimuovere alcuni indirizzi IP dal cluster.

Rimuovi gli indirizzi IP da un cluster utente

Assicurati di avere un numero sufficiente di indirizzi IP dopo la rimozione. Ti serve un indirizzo IP per ogni nodo cluster più un indirizzo IP aggiuntivo da utilizzare per un nodo temporaneo durante gli upgrade. Ad esempio, se hai tre nodi cluster, dopo la rimozione dovrai avere quattro indirizzi IP rimanenti.

Segui questi passaggi:

  1. Il cluster di amministrazione dispone di 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 cluster utente
  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 tuo cluster utente, visualizza tutti gli oggetti Macchina nello spazio dei nomi predefinito:

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

    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
    

    Devi quindi rimuovere l'oggetto Machine my-node-pool-1234.

    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 gli indirizzi IP da un cluster di amministrazione

Assicurati di avere un numero sufficiente di indirizzi IP dopo la rimozione. È necessario un indirizzo IP per il nodo del piano di controllo del cluster di amministrazione, due indirizzi per i nodi aggiuntivi e un indirizzo IP aggiuntivo da utilizzare per un nodo temporaneo durante gli upgrade. Inoltre, per ogni cluster utente associato, sono necessari uno o tre indirizzi per il piano di controllo del cluster utente. Ogni cluster utente ad alta disponibilità richiede tre nodi nel cluster di amministrazione per il piano di controllo del cluster utente. Ogni cluster utente non ad alta disponibilità richiede un nodo nel cluster di amministrazione per il piano di controllo del cluster utente.

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

  • Nodo del piano di controllo del cluster di amministrazione
  • Due nodi aggiuntivi
  • Tre nodi per il piano di controllo del cluster utente ad alta disponibilità
  • Un nodo per il piano di controllo del cluster utente non ad alta disponibilità
  • Un nodo temporaneo da utilizzare durante gli upgrade

Segui questi passaggi:

  1. Determina l'indirizzo IP che viene utilizzato per il nodo del piano di controllo del cluster di amministrazione:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes --output wide
    

    Nell'output, individua il nodo elencato come piano di controllo. 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 piano di controllo 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 Macchina nello spazio dei nomi predefinito:

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

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

    Devi quindi rimuovere l'oggetto Machine gke-admin-node-5678.

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG delete machine gke-admin-node-5678
    
  7. Visualizza gli indirizzi dei nodi 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