Planifier vos adresses IP

Ce document fournit un exemple d'allocation d'adresses IP pour un cluster d'administrateur à haute disponibilité et deux clusters d'utilisateurs.

Avant de commencer

Pour en savoir plus sur les clusters d'administrateur, les clusters d'utilisateur et la haute disponibilité, consultez la page Choisir un modèle de déploiement.

Exemple d'allocation d'adresses IP

Cette section fournit un exemple d'allocation d'adresses IP dans une installation qui inclut les éléments suivants:

  • Adresses IP pour les nœuds de cluster

  • Adresses IP pour les pods

  • Adresses IP de cluster pour les services

  • Adresses IP virtuelles pour les plans de contrôle et les proxys d'entrée

  • Adresses IP virtuelles à utiliser comme adresses IP externes pour les services

Nœuds du cluster d'administrateur

Dans cet exemple, le cluster d'administrateur possède trois nœuds. Chaque nœud exécute des composants du plan de contrôle.

Nœuds de cluster d'utilisateur

Dans cet exemple, chaque cluster d'utilisateur comporte six nœuds: trois nœuds de plan de contrôle et trois nœuds de calcul.

Équilibrage de charge

Pour cet exemple, supposons que les clusters utilisent l'équilibreur de charge MetalLB groupé. Comme l'équilibreur de charge s'exécute sur les nœuds du cluster, aucune machine supplémentaire n'est nécessaire pour l'équilibrage de charge.

Sous-réseaux

Pour cet exemple, supposons que chaque cluster se trouve dans son propre domaine de couche 2 et qu'ils se trouvent dans les sous-réseaux suivants:

Cluster Sous-réseau Passerelle par défaut
Cluster d'administrateur 172.16.20.0/24 172.16.20.1
Cluster d'utilisateur 1 172.16.21.0/24 172.16.21.1
Cluster d'utilisateur 2 172.16.22.0/24 172.16.22.1

Le schéma suivant illustre les trois sous-réseaux. Notez que les adresses IP virtuelles ne sont associées à aucun nœud particulier d'un cluster. En effet, l'équilibreur de charge MetalLB peut choisir le nœud qui annonce l'adresse IP virtuelle pour un service individuel. Par exemple, dans le cluster d'utilisateur 1, un nœud peut annoncer "172.16.21.52", et un autre nœud peut indiquer "172.16.21.53".

Adresses IP pour un cluster d'administrateur et deux clusters d'utilisateur.
Adresses IP pour un cluster d'administrateur et deux clusters d'utilisateur (cliquez pour agrandir)

Exemples d'adresses IP : nœuds de cluster d'administrateur

Vous avez besoin de trois adresses IP pour vos nœuds de cluster d'administrateur, qui exécutent tous des composants du plan de contrôle. Par exemple, vous pouvez utiliser les adresses IP suivantes pour les nœuds de votre cluster d'administrateur. Dans cet exemple, les adresses sont consécutives, mais ce n'est pas obligatoire:

Adresses IP des nœuds du cluster d'administrateur
172.16.20.2 à 172.16.20.4

Exemple d'adresse IP: adresse IP virtuelle du plan de contrôle pour le cluster d'administrateur

Vous devez réserver une adresse IP virtuelle pour le serveur d'API Kubernetes du cluster d'administrateur. Dans le fichier de configuration du cluster, il s'agit de controlPlaneVIP. Par exemple, vous pouvez réserver l'adresse IP suivante à utiliser comme adresse IP virtuelle du plan de contrôle pour le cluster d'administrateur:

Adresse IP virtuelle du plan de contrôle pour le cluster d'administrateur
172.16.20.50

Exemples d'adresses IP : nœud de cluster utilisateur 1

Par exemple, vous pouvez utiliser les adresses IP suivantes pour trois nœuds de plan de contrôle et trois nœuds de calcul dans le cluster d'utilisateur 1. Dans cet exemple, les adresses sont consécutives, mais ce n'est pas obligatoire:

Adresses IP des nœuds du cluster d'utilisateur 1
172.16.21.2 à 172.16.21.7

Exemples d'adresses IP: adresses IP virtuelles pour le cluster d'utilisateur 1

Le tableau suivant montre comment désigner des adresses IP virtuelles à configurer sur l'équilibreur de charge pour le cluster d'utilisateur 1. Dans cet exemple, les adresses IP virtuelles sont consécutives, mais ce n'est pas obligatoire:

VIP Description Adresse IP
Adresse IP virtuelle du plan de contrôle pour le cluster d'utilisateur 1 Configuré sur l'équilibreur de charge pour le cluster d'utilisateur 1 172.16.21.50
Adresse IP virtuelle d'entrée pour le cluster d'utilisateur 1 Configuré sur l'équilibreur de charge pour le cluster d'utilisateur 1 172.16.21.51
Adresses IP virtuelles de service pour le cluster d'utilisateur 1 Dix adresses pour les services de type LoadBalancer.
Configuré selon les besoins sur l'équilibreur de charge pour le cluster d'utilisateur 1.
Notez que cette plage inclut l'adresse IP virtuelle d'entrée.
Il s'agit d'une exigence pour l'équilibreur MetalLB.
172.16.21.51 - 172.16.21.60

Exemples d'adresses IP : nœud de cluster utilisateur 2

Exemple: Vous pouvez utiliser les adresses IP suivantes pour les nœuds du cluster d'utilisateur 2. Dans cet exemple, les adresses sont consécutives, mais ce n'est pas obligatoire:

Adresses IP des nœuds du cluster d'utilisateur 2
172.16.22.2 à 172.16.22.7

Exemples d'adresses IP: adresses IP virtuelles pour le cluster d'utilisateur 2

Le tableau suivant montre comment désigner des adresses IP virtuelles à configurer sur l'équilibreur de charge pour le cluster d'utilisateur 2. Dans cet exemple, les adresses IP virtuelles sont consécutives, mais ce n'est pas obligatoire.

VIP Description Adresse IP
Adresse IP virtuelle du plan de contrôle pour le cluster d'utilisateur 2 Configuré sur l'équilibreur de charge pour le cluster d'utilisateur 2 172.16.22.50
Adresse IP virtuelle d'entrée pour le cluster d'utilisateur 2 Configuré sur l'équilibreur de charge pour le cluster d'utilisateur 2 172.16.22.51
Adresses IP virtuelles de service pour le cluster d'utilisateur 2 Dix adresses pour les services de type LoadBalancer.
Configuré selon les besoins sur l'équilibreur de charge pour le cluster d'utilisateur 2.
Notez que cette plage inclut l'adresse IP virtuelle d'entrée.
Il s'agit d'une exigence pour l'équilibreur de charge MetalLB.
172.16.22.51 - 172.16.22.60

Exemples d'adresses IP : pods et services

Avant de créer un cluster, vous devez spécifier une plage CIDR à utiliser pour les adresses IP des pods et une autre à utiliser pour les adresses ClusterIP de Services Kubernetes.

Déterminez les plages CIDR que vous souhaitez utiliser pour les pods et les services. Exemple :

ObjectifPlage CIDR
Pods dans le cluster d'administrateur192.168.0.0/16
Pods dans le cluster d'utilisateur 1192.168.0.0/16
Pods dans le cluster d'utilisateur 2192.168.0.0/16
Services dans le cluster d'administrateur10.96.232.0/24
Services dans le cluster d'utilisateur 110.96.0.0/20
Services dans le cluster d'utilisateur 210.96.128.0/20

Les exemples précédents illustrent ces points :

  • La plage CIDR du pod peut être identique pour plusieurs clusters.

  • En règle générale, vous avez besoin de plus de pods que de services. Par conséquent, pour un cluster donné, vous souhaitez probablement une plage CIDR de pods plus grande que la plage CIDR du service. L'exemple de plage de pods pour un cluster d'utilisateur est 192.168.0.0/16, qui contient 2^(32-16) = 2^16 adresses. Cependant, un exemple de plage de services pour un cluster d'utilisateur est 10.96.0.0/20, qui ne comporte que 2^(32-20) = 2^12 adresses.

Éviter le chevauchement

Veillez à ce que vos plages CIDR ne se chevauchent pas avec les adresses IP accessibles sur votre réseau. Les plages de services et de pods ne doivent chevaucher aucune adresse externe au cluster que vous souhaitez atteindre depuis l'intérieur du cluster.

Par exemple, supposons que la plage de services est 10.96.0.0/20 et que la plage de pods soit 192.168.0.0/16. Le trafic envoyé depuis un pod vers une adresse appartenant à l'une de ces plages est traité comme du trafic interne au cluster et n'atteindra aucune destination en dehors de celui-ci.

En particulier, les plages de services et de pods ne doivent pas chevaucher les éléments suivants :

  • Adresses IP des nœuds d'un cluster

  • Adresses IP utilisées par les machines des équilibreurs de charge

  • Adresses IP virtuelles utilisées par les nœuds de plan de contrôle et les équilibreurs de charge

  • Adresses IP des serveurs DNS et des serveurs NTP

Nous vous recommandons de placer vos plages de services et de pods dans l'espace d'adressage RFC 1918.

Voici l'une des raisons pour lesquelles il est recommandé d'utiliser les adresses RFC 1918 Supposons que votre plage de services et de pods contienne des adresses IP externes. Tout trafic envoyé depuis un pod vers l'une de ces adresses externes sera traité comme du trafic interne au cluster et n'atteindra pas la destination externe.

Variantes d'allocation d'adresses IP

L'exemple fourni dans ce document illustre l'allocation d'adresses IP pour un type d'installation particulier. Cependant, il existe plusieurs façons d'installer des clusters Anthos sur bare metal. La variante que vous choisirez aura une incidence sur la planification de vos adresses IP.

Par exemple, vous pouvez décider d'utiliser des clusters non haute disponibilité ou de répartir vos nœuds de cluster sur plusieurs domaines de couche 2. Vous pouvez choisir d'utiliser un réseau en mode plat au lieu d'un réseau en mode insulaire.

Pour découvrir comment les adresses IP sont spécifiées dans les fichiers de configuration du cluster pour différents types d'installations, consultez les exemples de configuration de cluster.

Pour en savoir plus sur la planification de vos adresses IP pour différents types d'installations, consultez les documents suivants: