Supprimer les adresses IP statiques d'un cluster

Ce document explique comment supprimer les adresses IP statiques d'un cluster dans GKE sur VMware.

Lorsque vous créez un cluster qui utilise des adresses IP statiques pour les nœuds, vous spécifiez un ensemble d'adresses IP dans un fichier de bloc d'adresses IP. Si vous constatez par la suite que vous avez spécifié plus d'adresses IP que nécessaire, vous pouvez supprimer certaines des adresses IP du cluster.

Supprimer des adresses IP d'un cluster utilisateur.

Vérifiez que vous disposez de suffisamment d'adresses IP après la suppression. Vous avez besoin d'une adresse IP pour chaque nœud de cluster et d'une adresse IP supplémentaire à utiliser pour un nœud temporaire lors des mises à niveau. Par exemple, si vous disposez de trois nœuds de cluster, vous devrez avoir quatre adresses IP restantes après la suppression.

Procédez comme suit :

  1. Le cluster admin dispose d'une ressource personnalisée OnPremUserCluster pour chaque cluster utilisateur associé. Dans le cluster admin, modifiez la ressource personnalisée OnPremUserCluster pour votre cluster utilisateur :

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

    Remplacez les éléments suivants :

    • ADMIN_CLUSTER_KUBECONFIG : chemin d'accès au fichier kubeconfig du cluster d'administrateur
    • USER_CLUSTER_NAME : nom de votre cluster utilisateur
  2. Supprimez les adresses IP sélectionnées de la section 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. Fermez la session de modification.

  4. Dans votre cluster utilisateur, affichez tous les objets Machine dans l'espace de noms par défaut :

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get machines --output yaml
    
  5. Supprimez tous les objets Machine utilisant l'une des adresses IP supprimées. Par exemple, supposons que vous ayez supprimé l'adresse 198.51.100.1 et que vous ayez découvert que l'objet Machine my-node-pool-1234 utilise cette adresse :

    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
    

    Vous devez ensuite supprimer l'objet Machine my-node-pool-1234.

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG delete machine my-node-pool-1234
    
  6. Attendez quelques minutes, puis affichez les adresses du nœud de cluster :

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes --output wide
    
  7. Vérifiez que les adresses IP supprimées n'apparaissent pas dans le résultat. Exemple :

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

Supprimer des adresses IP d'un cluster d'administrateur

Vérifiez que vous disposez de suffisamment d'adresses IP après la suppression. Vous avez besoin d'une adresse IP pour le nœud de plan de contrôle du cluster d'administrateur, de deux adresses pour les nœuds complémentaires et d'une adresse IP supplémentaire à utiliser pour un nœud temporaire lors des mises à niveau. En outre, pour chaque cluster utilisateur associé, vous avez besoin d'une ou trois adresses pour le plan de contrôle du cluster utilisateur. Chaque cluster utilisateur à haute disponibilité nécessite trois nœuds dans le cluster admin pour le plan de contrôle du cluster utilisateur. Chaque cluster utilisateur standard nécessite un nœud du cluster d'administrateur pour le plan de contrôle du cluster utilisateur.

Par exemple, supposons que votre cluster d'administrateur soit associé à un cluster utilisateur à haute disponibilité et à un cluster utilisateur standard. Après la suppression, vous devez disposer de huit adresses IP pour les nœuds suivants :

  • Nœud du plan de contrôle du cluster d'administrateur
  • Deux nœuds complémentaires
  • Trois nœuds pour le plan de contrôle du cluster utilisateur haute disponibilité
  • Un nœud pour le plan de contrôle du cluster utilisateur standard
  • Un nœud temporaire à utiliser lors des mises à niveau

Procédez comme suit :

  1. Déterminez l'adresse IP utilisée pour le nœud de plan de contrôle du cluster d'administrateur :

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes --output wide
    

    Dans le résultat, recherchez le nœud répertorié en tant que plan de contrôle. Notez son adresse IP.

    gke-admin-master-hdn4z   Ready   control-plane,master … 198.51.100.101
    ...
    
  2. Dans le cluster admin, modifiez la ressource personnalisée OnPremAdminCluster :

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

    Remplacez ADMIN_CLUSTER_KUBECONFIG par le chemin d'accès au fichier kubeconfig du cluster d'administrateur.

  3. Supprimez les adresses IP sélectionnées de la section ipBlocks. Assurez-vous de ne pas supprimer l'adresse IP utilisée pour le nœud du plan de contrôle du cluster d'administrateur.

    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. Fermez la session de modification.

  5. Dans votre cluster d'administrateur, affichez tous les objets Machine de l'espace de noms par défaut :

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get machines --output yaml
    
  6. Supprimez tous les objets Machine utilisant l'une des adresses IP supprimées. Par exemple, supposons que vous ayez supprimé l'adresse 198.51.100.102 et que vous ayez découvert que l'objet Machine gke-admin-node- utilise cette adresse :

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

    Vous devez ensuite supprimer l'objet Machine gke-admin-node-5678.

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG delete machine gke-admin-node-5678
    
  7. Affichez les adresses du nœud de cluster :

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes --output wide
    
  8. Vérifiez que les adresses IP supprimées n'apparaissent pas dans le résultat. Exemple :

    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