Configurer le nombre maximal de pods par nœud


Cette page explique comment configurer le nombre maximal de pods pouvant être exécutés sur un nœud pour les clusters standards. Cette valeur détermine la taille des plages d'adresses IP attribuées aux nœuds sur Google Kubernetes Engine (GKE). Les pods qui s'exécutent sur un nœud se voient attribuer des adresses IP à partir de la plage d'adressage CIDR du nœud.

Lors de la planification, GKE utilise le nombre maximal de pods par nœud pour déterminer s'il dispose d'une capacité suffisante pour planifier un pod. Seuls les pods qui ont été attribués à un nœud et qui ne sont pas encore arrêtés (phase Failed ou Succeeded) sont comptabilisés dans cette capacité.

Les étapes décrites sur cette page ne s'appliquent pas aux clusters Autopilot, car le nombre maximal de nœuds est préconfiguré et immuable.

Avant de commencer

Avant de commencer, effectuez les tâches suivantes :

  • Activez l'API Google Kubernetes Engine.
  • Activer l'API Google Kubernetes Engine
  • Si vous souhaitez utiliser Google Cloud CLI pour cette tâche, installez puis initialisez gcloud CLI. Si vous avez déjà installé gcloud CLI, assurez-vous de disposer de la dernière version en exécutant la commande gcloud components update.

Restrictions

  • Vous ne pouvez configurer le nombre maximal de pods par nœud que dans les clusters de VPC natif.
  • La création de nœuds est limitée par le nombre d'adresses disponibles dans la plage d'adresses allouée aux pods. Consultez le tableau de planification de plages d'adresses IP pour connaître les tailles par défaut, ainsi que les tailles minimales et maximales de la plage d'adresses allouée aux pods. Vous pouvez également ajouter des adresses IP de pods supplémentaires à l'aide d'un CIDR multi-pod non contigu.
  • Chaque cluster doit créer des pods kube-system, tels que kube-proxy, dans l'espace de noms kube-system. Pensez à prendre en compte vos pods de charge de travail et vos pods système lorsque vous réduisez le nombre maximal de pods par nœud. Pour répertorier les pods système dans votre cluster, exécutez la commande suivante :

    kubectl get pods --namespace kube-system
    

Configurer le nombre maximal de pods par nœud

Vous pouvez configurer le nombre maximal de pods par nœud lors de la création d'un cluster ou d'un pool de nœuds. Vous ne pouvez pas modifier ce paramètre une fois le cluster ou le pool de nœuds créé.

Toutefois, si vous n'avez plus d'adresses IP de pod, vous pouvez créer des plages d'adresses IP de pod supplémentaires à l'aide du CIDR multipod non contigugu.

Vous pouvez définir la taille de la plage d'adresses du pod lors de la création d'un cluster en utilisant gcloud CLI ou Google Cloud Console.

gcloud

Pour définir le nombre maximal de pods par nœud en utilisant gcloud CLI, exécutez la commande suivante :

gcloud container clusters create CLUSTER_NAME \
    --enable-ip-alias \
    --cluster-ipv4-cidr=10.0.0.0/21 \
    --services-ipv4-cidr=10.4.0.0/19 \
    --create-subnetwork=name='SUBNET_NAME',range=10.5.32.0/27 \
    --default-max-pods-per-node=MAXIMUM_PODS \
    --location=COMPUTE_LOCATION

Remplacez les éléments suivants :

  • CLUSTER_NAME : nom de votre nouveau cluster
  • SUBNET_NAME : nom du nouveau sous-réseau pour votre cluster.
  • MAXIMUM_PODS : nombre maximal de pods par nœud pour le cluster, pouvant être configuré jusqu'à 256. Si cette valeur est omise, Kubernetes attribue la valeur par défaut 110.
  • COMPUTE_LOCATION : emplacement Compute Engine du nouveau cluster.

Console

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine

  2. Cliquez sur Créer.

  3. Configurez votre nouveau cluster.

  4. Dans le volet de navigation, sous Cluster, cliquez sur Réseau.

  5. Assurez-vous que la case Activer le routage du trafic de VPC natif (utilisation d'une adresse IP d'alias) est cochée.

  6. Dans le volet de navigation, sous Pools de nœuds, cliquez sur Nœuds.

  7. Définissez le champ Nombre maximal de pods par nœud sur 110. GKE exploite cette valeur pour ajuster la taille de la plage d'adresses IP allouée aux nœuds.

  8. Cliquez sur Create (Créer).

Lorsque vous configurez le nombre maximal de pods par nœud pour le cluster, Kubernetes utilise cette valeur pour allouer une plage CIDR aux nœuds. Vous pouvez calculer le nombre maximal de nœuds sur le cluster en fonction de la plage d'adresse IP du cluster pour les pods et de la plage CIDR allouée pour le nœud.

Par exemple, si vous définissez le nombre maximal de pods par défaut sur 110 et la plage d'adresses IP secondaire des pods sur /21, Kubernetes attribue une plage CIDR /24 aux nœuds du nœud. Cela autorise un maximum de 2(24-21) = 23 = 8 nœuds sur le cluster.

De même, si vous définissez le nombre maximal de pods par défaut sur 8 et la plage d'adresses IP secondaire du cluster pour les pods sur /21, Kubernetes attribue une plage CIDR /28 aux nœuds. Cela autorise un maximum de 2(28-21) = 27 = 128 nœuds sur le cluster.

Configurer le nombre maximal de pods dans un nouveau pool de nœuds pour un cluster existant

Vous pouvez également spécifier le nombre maximal de pods par nœud lors de la création d'un pool de nœuds dans un cluster existant. La création d'un pool de nœuds vous permet d'optimiser l'allocation d'adresses IP, même dans les clusters existants où aucun nombre maximal par défaut de pods par nœud n'est configuré au niveau du cluster.

La définition du nombre maximal de pods au niveau du pool de nœuds remplace la valeur maximale par défaut définie au niveau du cluster. Si vous ne configurez pas de nombre maximal de pods par nœud lorsque vous créez le pool de nœuds, le nombre maximal au niveau du cluster s'applique.

gcloud

gcloud container node-pools create POOL_NAME \
    --cluster=CLUSTER_NAME \
    --max-pods-per-node=MAXIMUM_PODS

Remplacez l'élément suivant :

  • POOL_NAME : nom de votre nouveau pool de nœuds.
  • CLUSTER_NAME : nom du cluster dans lequel vous souhaitez créer le pool de nœuds.
  • MAXIMUM_PODS : nombre maximal de nœuds dans le pool de nœuds.

Console

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine

  2. Dans la liste des clusters, cliquez sur le nom du cluster que vous souhaitez modifier.

  3. Cliquez sur Ajouter un pool de nœuds.

  4. Dans le volet de navigation, cliquez sur Nœuds.

  5. Sous Mise en réseau, saisissez une valeur pour le champ Nombre maximal de pods par nœud. GKE exploite cette valeur pour ajuster la taille de la plage d'adresses IP allouée aux nœuds.

À propos du nombre maximal par défaut de pods par nœud

Par défaut, GKE autorise jusqu'à 110 pods par nœud sur les clusters standards, mais les clusters standards peuvent être configurés pour autoriser jusqu'à 256 pods par nœud. Les clusters Autopilot, en fonction de la densité de pod de charge de travail attendue, choisissent le nombre maximal de pods par nœud dans une plage comprise entre 8 et 256. Kubernetes attribue à chaque nœud une plage d'adresses IP, un bloc CIDR, afin que chaque pod puisse avoir une adresse IP unique. La taille du bloc CIDR correspond au nombre maximal de pods par nœud.

Plages CIDR des pods dans les clusters standards

Avec un maximum par défaut de 110 pods par nœud pour les clusters standards, Kubernetes affecte un bloc CIDR /24 (256 adresses) à chacun des nœuds. Avec un nombre d'adresses IP disponibles plus de deux fois supérieur au nombre maximal de pods pouvant être créés sur un nœud, Kubernetes peut réduire la réutilisation des adresses IP lorsque des pods sont ajoutés et supprimés d'un nœud.

Bien que la limite de 256 pods par nœud soit une limite stricte, vous pouvez réduire le nombre de pods sur un nœud. La taille du bloc CIDR attribué à un nœud dépend du nombre maximal de pods par valeur de nœud. Le bloc contient toujours au moins deux fois plus d'adresses que le nombre maximal de pods par nœud.

Le tableau suivant répertorie la taille du bloc CIDR et le nombre correspondant d'adresses IP disponibles que Kubernetes attribue aux nœuds en fonction du nombre maximal de pods par nœud :

Nombre maximal de pods par nœud Plage CIDR par nœud Nombre d'adresses IP
8 /28 16
9 – 16 /27 32
17 – 32 /26 64
33 – 64 /25 128
65-128 /24 256
129 - 256 /23 512

Plages CIDR des pods dans les clusters Autopilot

Les paramètres par défaut des tailles CIDR des clusters Autopilot sont les suivants :

  • Plage de sous-réseaux : /23
  • Plage d'adresses IP secondaire pour les pods : /17
  • Plage d'adresses IP secondaire pour les services : /22

Autopilot comporte un nombre maximal de pods par nœud de 32. Comme pour GKE Standard, cela signifie qu'une plage /26 est configurée pour chaque nœud, soit 64 adresses IP. Une plage d'adresses de pods de /17 correspond à un cluster pouvant accepter un maximum de 511 nœuds (32 766 adresses IP utilisables / 64 adresses IP par nœud).

Assurez-vous que la plage d'adresses IP secondaire des pods que vous spécifiez est suffisamment grande pour accepter la taille maximale attendue pour les clusters. Une plage de /16 (par exemple, cluster-ipv4-cidr=10.0.0.0/16) est recommandée pour permettre une croissance maximale du cluster.

Réduire le nombre maximal de pods.

La réduction du nombre maximal de pods par nœud permet au cluster d'avoir plus de nœuds, car chaque nœud nécessite une plus petite partie de l'espace total alloué aux adresses IP. Vous pouvez également accepter le même nombre de nœuds dans le cluster en spécifiant un espace pour les adresses IP plus petit pour les pods au moment de la création du cluster.

La réduction du nombre maximal de pods par nœud vous permet également de créer des clusters plus petits nécessitant moins d'adresses IP. Par exemple, avec huit pods par nœud, chaque pod reçoit une plage CIDR /28. Ces plages d'adresses IP, ainsi que les plages secondaires et de sous-réseau que vous définissez déterminent le nombre d'adresses IP requis pour créer un cluster.

Vous pouvez configurer le nombre maximal de pods par nœud au moment de la création du cluster et du pool de nœuds.

Étapes suivantes