Rimuovere 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 seguito ti rendi conto di aver specificato più indirizzi IP del necessario, può rimuovere alcuni indirizzi IP dal cluster.

Rimuovi gli indirizzi IP da un cluster utente

Assicurati di avere un numero sufficiente di indirizzi IP rimanenti dopo la rimozione. Tu è necessario un indirizzo IP per ciascun nodo del cluster e un indirizzo IP aggiuntivo per un nodo temporaneo durante gli upgrade. Ad esempio, se hai tre nodi del cluster, dopo la rimozione dovrai avere quattro indirizzi IP rimanenti.

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 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 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 my-node-pool-1234 Machine lo utilizza:

    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 Machine.

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG delete machine my-node-pool-1234
    
  6. Dopo alcuni minuti, 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 di avere un numero sufficiente di indirizzi IP rimanenti dopo la rimozione. Ti occorre 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à (HA) richiede tre nodi nel cluster di amministrazione per il control plane del cluster utente. Ogni cluster utente non ad alta disponibilità richiede di amministrazione per il piano di controllo del cluster utente.

Ad esempio, supponiamo che il tuo cluster di amministrazione sia associato a un cluster utente ad alta disponibilità e un cluster utente non ad alta disponibilità. Dopo la rimozione, dovrai avere 8 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 HA
  • 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 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 delle sue 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 dell'amministratore kubeconfig del cluster.

  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 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 lo utilizza:

    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