IBM Cloud Docs
Clusters classiques : pourquoi ne puis-je pas déployer un équilibreur de charge ?

Clusters classiques : pourquoi ne puis-je pas déployer un équilibreur de charge ?

Infrastructure classique

Lorsque vous décrivez la mappe de configuration ibm-cloud-provider-vlan-ip-config dans votre cluster classique, il est possible qu'un message d'erreur comparable au message suivant s'affiche :

kubectl describe cm ibm-cloud-provider-vlan-ip-config -n kube-system
Warning  CreatingLoadBalancerFailed ... ErrorSubnetLimitReached: There are already the maximum number of subnets permitted in this VLAN.

Dans les clusters standard, la première fois que vous créez un cluster dans une zone, un VLAN public et un VLAN privé sont automatiquement mis à votre disposition dans cette zone dans votre compte d'infrastructure IBM Cloud.

Dans cette zone, 1 sous-réseau portable est demandé sur le VLAN public que vous spécifiez et 1 sous-réseau portable privé est demandé sur le VLAN privé que vous spécifiez. Pour IBM Cloud Kubernetes Service, les VLAN sont limités à 40 sous-réseaux. Si le VLAN du cluster d'une zone a déjà atteint cette limite, il se peut qu'aucune adresse IP publique portable ne soit disponible pour créer un équilibreur de charge de réseau.

Pour afficher le nombre de sous-réseaux d'un VLAN :

  1. Dans la console de l'infrastructure IBM Cloud, sélectionnez Réseau > Gestion IP > VLAN.
  2. Cliquez sur le Numéro de VLAN du VLAN que vous avez utilisé pour créer votre cluster. Examinez la section Sous-réseaux pour voir s'il existe 40 sous-réseaux ou plus.

Si vous avez besoin d'un nouveau VLAN, commandez-en un en contactant le support IBM Cloud.

Ensuite, créez un cluster qui utilise ce nouveau VLAN.

Si vous avez un autre VLAN disponible, vous pouvez configurer le Spanning VLAN dans votre cluster existant. Vous pouvez ensuite ajouter de nouveaux noeuds worker au cluster qui utilise l'autre VLAN avec les sous-réseaux disponibles. Pour vérifier si le spanning VLAN est déjà activé, utilisez le ibmcloud ks vlan spanning get --region <region> commande.

Si vous n'utilisez pas tous les sous-réseaux du VLAN, vous pouvez réutiliser des sous-réseaux sur le VLAN en les ajoutant au cluster.

  1. Vérifie que le sous-réseau que vous voulez utiliser est disponible. Le compte d'infrastructure que vous utilisez peut être partagé entre plusieurs comptes IBM Cloud. Dans ce cas, même si vous exécutez la commande ibmcloud ks subnets pour voir les sous-réseaux avec les clusters liés (Bound Clusters), vous ne pourrez voir que les informations concernant vos clusters. Vérifiez avec le propriétaire du compte d'infrastructure que les sous-réseaux sont disponibles et qu'ils ne sont pas utilisés par un autre compte ou une autre équipe.

  2. Utilisez la commande ibmcloud ks cluster subnet add pour faire en sorte qu'un sous-réseau existant soit disponible pour votre cluster.

  3. Vérifiez que le sous-réseau a bien été créé et ajouté à votre cluster. Le CIDR du sous-réseau est répertorié dans la section Subnet VLANs.

    ibmcloud ks cluster get --cluster <cluster_name> --show-resources
    

    Dans cet exemple de sortie, un deuxième sous-réseau a été ajouté au VLAN public 2234945 :

    Subnet VLANs
    VLAN ID   Subnet CIDR          Public   User-managed
    2234947   10.xxx.xx.xxx/29     false    false
    2234945   169.xx.xxx.xxx/29    true     false
    2234945   169.xx.xxx.xxx/29    true     false
    
  4. Vérifiez que les adresses IP portables issues du sous-réseau que vous avez ajouté sont utilisées pour EXTERNAL-IP dans l'équilibreur de charge. Il peut s'écouler quelques minutes avant que les services puissent utiliser les adresses IP portables du nouveau sous-réseau.

    kubectl get svc -n kube-system