Statische IP-Adressen aus einem Cluster entfernen

In diesem Dokument wird gezeigt, wie Sie statische IP-Adressen aus einem Cluster in Google Distributed Cloud entfernen können.

Wenn Sie einen Cluster erstellen, der statische IP-Adressen für die Knoten verwendet, geben Sie einen Satz von IP-Adressen in einer IP-Blockdatei an. Wenn Sie später feststellen, dass Sie mehr IP-Adressen als erforderlich angegeben haben, können Sie einige der IP-Adressen aus dem Cluster entfernen.

IP-Adressen aus einem Nutzercluster entfernen

Achten Sie darauf, dass nach dem Entfernen genügend IP-Adressen verbleiben. Sie benötigen eine IP-Adresse für jeden Clusterknoten sowie eine zusätzliche IP-Adresse, die während Upgrades für einen temporären Knoten verwendet wird. Wenn Sie beispielsweise drei Clusterknoten haben, benötigen Sie nach dem Entfernen vier verbleibende IP-Adressen.

Gehen Sie so vor:

  1. Der Administratorcluster hat für jeden zugeordneten Nutzercluster eine benutzerdefinierte OnPremUserCluster-Ressource. Bearbeiten Sie im Administratorcluster die benutzerdefinierte OnPremUserCluster-Ressource für Ihren Nutzercluster:

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

    Dabei gilt:

    • ADMIN_CLUSTER_KUBECONFIG: der Pfad der kubeconfig-Datei des Administratorclusters
    • USER_CLUSTER_NAME: der Name Ihres Nutzerclusters
  2. Entfernen Sie ausgewählte IP-Adressen aus dem Abschnitt 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. Schließen Sie die Bearbeitungssitzung.

  4. Sehen Sie sich in Ihrem Nutzercluster alle Maschinenobjekte im Standard-Namespace an:

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get machines --output yaml
    
  5. Löschen Sie alle Maschinenobjekte, die eine der entfernten IP-Adressen verwenden. Angenommen, Sie haben die Adresse 198.51.100.1 entfernt und Sie stellen fest, dass das Maschinenobjekt my-node-pool-1234 diese Adresse verwendet:

    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
    

    Anschließend müssen Sie das Maschinenobjekt my-node-pool-1234 entfernen.

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG delete machine my-node-pool-1234
    
  6. Rufen Sie nach einigen Minuten die Adressen des Clusterknotens auf:

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes --output wide
    
  7. Achten Sie darauf, dass entfernte IP-Adressen nicht in der Ausgabe angezeigt werden. Beispiel:

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

IP-Adressen aus einem Administratorcluster entfernen

Achten Sie darauf, dass nach dem Entfernen genügend IP-Adressen verbleiben. Sie benötigen eine IP-Adresse für den Knoten der Administratorclusterebene, zwei Adressen für Add-on-Knoten und eine zusätzliche IP-Adresse, die während eines Upgrades für einen temporären Knoten verwendet wird. Außerdem benötigen Sie für jeden zugeordneten Nutzercluster entweder eine oder drei Adressen für die Steuerungsebene des Nutzerclusters. Jeder HA-Nutzercluster (Hochverfügbarkeit) erfordert drei Knoten im Administratorcluster für die Steuerungsebene des Nutzerclusters. Jeder Nicht-HA-Nutzercluster erfordert einen Knoten im Administratorcluster für die Steuerungsebene des Nutzerclusters.

Angenommen, Ihr Administratorcluster ist einem HA-Nutzercluster und einem Nicht-HA-Nutzercluster zugeordnet. Nach dem Entfernen müssen Sie acht IP-Adressen haben, um die folgenden Knoten unterzubringen:

  • Knoten der Administratorcluster-Steuerungsebene
  • Zwei Add-on-Knoten
  • Drei Knoten für die Steuerungsebene des HA-Nutzerclusters
  • Einen Knoten für die Steuerungsebene des Nicht-HA-Nutzerclusters
  • Ein temporärer Knoten, der während der Upgrades verwendet werden soll

Gehen Sie so vor:

  1. Ermitteln Sie die IP-Adresse, die für den Knoten der Steuerungsebene des Administratorclusters verwendet wird:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes --output wide
    

    Suchen Sie in der Ausgabe den Knoten, der als Steuerungsebene aufgeführt ist. Notieren Sie sich die IP-Adresse.

    gke-admin-master-hdn4z   Ready   control-plane,master … 198.51.100.101
    ...
    
  2. Bearbeiten Sie im Administratorcluster die benutzerdefinierte OnPremAdminCluster-Ressource:

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

    Ersetzen Sie ADMIN_CLUSTER_KUBECONFIG durch den Pfad der kubeconfig-Datei des Administratorclusters.

  3. Entfernen Sie ausgewählte IP-Adressen aus dem Abschnitt ipBlocks: Achten Sie darauf, die IP-Adresse, die für den Knoten der Steuerungsebene des Administratorclusters verwendet wird, nicht zu entfernen.

    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. Schließen Sie die Bearbeitungssitzung.

  5. Sehen Sie sich in Ihrem Administratorcluster alle Maschinenobjekte im Standard-Namespace an:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get machines --output yaml
    
  6. Löschen Sie alle Maschinenobjekte, die eine der entfernten IP-Adressen verwenden. Angenommen, Sie haben die Adresse 198.51.100.102 entfernt und Sie stellen fest, dass das Maschinenobjekt gke-admin-node- diese Adresse verwendet:

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

    Anschließend müssen Sie das Maschinenobjekt gke-admin-node-5678 entfernen.

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG delete machine gke-admin-node-5678
    
  7. Rufen Sie die Adressen des Clusterknotens auf:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes --output wide
    
  8. Achten Sie darauf, dass entfernte IP-Adressen nicht in der Ausgabe angezeigt werden. Beispiel:

    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