Configuration réseau requise

Configuration réseau externe requise

Anthos clusters on bare metal nécessite une connexion Internet à des fins opérationnelles. Les clusters Anthos sur Bare Metal récupèrent les composants du cluster à partir de Container Registry, et le cluster est enregistré auprès de Connect.

Vous pouvez vous connecter à Google en utilisant l'Internet public via HTTPS, un réseau privé virtuel (VPN) ou une connexion d'interconnexion dédiée.

Si les machines que vous utilisez pour le poste de travail d'administrateur et les nœuds de cluster utilisent un serveur proxy pour accéder à Internet, ce serveur proxy doit autoriser certaines connexions spécifiques. Pour en savoir plus, consultez la section Installer derrière un proxy.

Configuration réseau interne requise

Les clusters Anthos sur Bare Metal peuvent fonctionner avec une connectivité de couche 2 ou de couche 3 entre les nœuds de cluster, mais nécessitent des nœuds d'équilibreur de charge dotés d'une connectivité de couche 2. Les nœuds d'équilibrage de charge peuvent être les nœuds du plan de contrôle ou un ensemble dédié de nœuds. Pour en savoir plus, consultez la page Choisir et configurer des équilibreurs de charge.

L'exigence de connectivité de couche 2 s'applique que vous exécutiez l'équilibreur de charge dans le pool de nœuds du plan de contrôle ou dans un ensemble de nœuds dédié.

Les conditions requises pour les machines d'équilibrage de charge sont les suivantes :

  • Tous les équilibreurs de charge d'un cluster donné appartiennent au même domaine de couche 2.
  • Toutes les adresses IP virtuelles doivent être situées dans le sous-réseau de la machine de l'équilibreur de charge et pouvoir être routées vers la passerelle du sous-réseau.
  • Les utilisateurs sont chargés d'autoriser le trafic de l'équilibreur de charge d'entrée.

Mise en réseau de pods

Anthos clusters on Bare Metal 1.7.0 et versions ultérieures vous permet de configurer jusqu'à 250 pods par nœud. Kubernetes attribue un bloc CIDR (Classless Inter-Domain Routing) à chaque nœud afin que chaque pod puisse avoir une adresse IP unique. La taille du bloc CIDR correspond au nombre maximal de pods par nœud. Le tableau suivant répertorie la taille du bloc CIDR que Kubernetes affecte à chaque nœud en fonction du nombre maximal de pods configurés par nœud :

Nombre maximal de pods par nœud Bloc CIDR par nœud Nombre d'adresses IP
32 /26 64
33 – 64 /25 128
65-128 /24 256
129-250 /23 512

L'exécution de 250 pods par nœud nécessite que Kubernetes réserve un bloc CIDR /23 pour chaque nœud. Si votre cluster utilise la valeur par défaut /16 pour le champ clusterNetwork.pods.cidrBlocks, il a une limite de (2(23-16)) = 128 nœuds Si vous avez l'intention de développer le cluster au-delà de cette limite, vous pouvez augmenter la valeur de clusterNetwork.pods.cidrBlocks ou diminuer celle de nodeConfig.podDensity.maxPodsPerNode.

Déploiement sur un seul cluster d'utilisateur à haute disponibilité

Le schéma suivant illustre un certain nombre de concepts de mise en réseau importants pour Anthos clusters on bare metal dans une configuration réseau possible.

Configuration réseau type d'Anthos clusters on bare metal

Tenez compte des informations suivantes pour répondre aux exigences de réseau :

  • Les nœuds du plan de contrôle exécutent les équilibreurs de charge, qui disposent tous d'une connectivité de couche 2, tandis que les autres connexions, y compris les nœuds de calcul, ne nécessitent qu'une connectivité de couche 3.
  • Les fichiers de configuration définissent les adresses IP des pools de nœuds de calcul. Les fichiers de configuration définissent également des adresses IP virtuelles aux fins suivantes :
    • Services
    • Entrée
    • Accès au plan de contrôle via l'API Kubernetes
  • Vous avez besoin d'une connexion à Google Cloud.

Utilisation du port

Cette section explique comment les ports UDP et TCP sont utilisés sur les nœuds de cluster et d'équilibrage de charge.

Nœuds de plan de contrôle

ProtocoleDirectionPlage de portsUsageUtilisée par
UDPEntrant6081Encapsulation du protocole GENEVEPerso
TCPEntrant22Provisionnement et mises à jour des nœuds d'un cluster d'administrateurPoste de travail administrateur
TCPEntrant6444Serveur d'API KubernetesTout
TCPEntrant2379 - 2380API client serveur etcdkube-apiserver et etcd
TCPEntrant10250kubelet APILui-même et plan de contrôle
TCPEntrant10251kube-schedulerPerso
TCPEntrant10252kube-controller-managerPerso
TCPEntrant10256Vérification d'état des nœudsAll
TCPLes deux4240Vérification de l'état CNITout

Nœuds de calcul

ProtocoleDirectionPlage de portsUsageUtilisée par
TCPEntrant22Provisionnement et mises à jour des nœuds d'un cluster d'utilisateurNœuds du cluster d'administrateur
UDPEntrant6081Encapsulation du protocole GENEVEPerso
TCPEntrant10250kubelet APILui-même et plan de contrôle
TCPEntrant10256Vérification d'état des nœudsAll
TCPEntrant30000 - 32767NodePort servicePerso
TCPLes deux4240Vérification de l'état CNITout

Nœuds d'équilibrage de charge

ProtocoleDirectionPlage de portsUsageUtilisée par
TCPEntrant22Provisionnement et mises à jour des nœuds d'un cluster d'utilisateurNœuds du cluster d'administrateur
UDPEntrant6081Encapsulation du protocole GENEVEPerso
TCPEntrant443*Gestion des clustersTout
TCPLes deux4240Vérification de l'état CNITout
TCPEntrant7946Vérification de l'état de l'équilibreur de charge MetalNœuds d'équilibrage de charge
UDPEntrant7946Vérification de l'état de l'équilibreur de charge MetalNœuds d'équilibrage de charge
TCPEntrant10256Vérification d'état des nœudsAll

* Ce port peut être configuré dans la configuration du cluster via le champ controlPlaneLBPort.

Exigences concernant les ports multicluster

Dans une configuration multicluster, les clusters ajoutés doivent comporter les ports suivants pour pouvoir communiquer avec le cluster d'administrateur.

ProtocoleDirectionPlage de portsUsageUtilisée par
TCPEntrant22Provisionnement et mises à jour des nœuds de clusterTous les nœuds
TCPEntrant443*Serveur d'API Kubernetes pour un cluster ajoutéNœuds de plan de contrôle et d'équilibreur de charge

* Ce port peut être configuré dans la configuration du cluster via le champ controlPlaneLBPort.

Configurer les ports de firewalld

Vous n'avez pas besoin de désactiver le pare-feu pour exécuter les clusters Anthos sur Bare Metal sur Red Hat Enterprise Linux (RHEL) ou CentOS. Pour utiliser firewalld, vous devez ouvrir les ports UDP et TCP utilisés par les nœuds de l'équilibreur de charge, de calcul et du plan de contrôle, comme décrit dans la section Utilisation des ports sur cette page. Les exemples de configuration suivants montrent comment ouvrir des ports avec firewall-cmd, l'utilitaire de ligne de commande de firewalld.

Exemple de configuration des nœuds de plan de contrôle

Le bloc de commandes suivant montre un exemple d'ouverture des ports requis sur les serveurs exécutant des nœuds de plan de contrôle :

firewall-cmd --permanent --zone=public --add-port=22/tcp
firewall-cmd --permanent --zone=public --add-port=4240/tcp
firewall-cmd --permanent --zone=public --add-port=6444/tcp
firewall-cmd --permanent --zone=public --add-port=6081/udp
firewall-cmd --permanent --zone=public --add-port=10250-10252/tcp
firewall-cmd --permanent --zone=public --add-port=10256/tcp
firewall-cmd --permanent --zone=public --add-port=2379-2380/tcp
firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --permanent --zone=public --add-port=30000-32767/tcp
firewall-cmd --permanent --new-zone=k8s-pods
firewall-cmd --permanent --zone=k8s-pods --add-source PODS_CIDR
firewall-cmd --permanent --zone=k8s-pods --set-target=ACCEPT
firewall-cmd --reload

Remplacez PODS_CIDR par les blocs CIDR réservés pour vos pods configurés dans le champ clusterNetwork.pods.cidrBlocks. Le bloc CIDR par défaut pour les pods est 192.168.0.0/16.

Exemple de configuration de nœud de calcul

Le bloc de commandes suivant montre un exemple d'ouverture des ports requis sur les serveurs exécutant des nœuds de calcul :

firewall-cmd --permanent --zone=public --add-port=22/tcp
firewall-cmd --permanent --zone=public --add-port=4240/tcp
firewall-cmd --permanent --zone=public --add-port=6444/tcp
firewall-cmd --permanent --zone=public --add-port=6081/udp
firewall-cmd --permanent --zone=public --add-port=10250/tcp
firewall-cmd --permanent --zone=public --add-port=10256/tcp
firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --permanent --zone=public --add-port=30000-32767/tcp
firewall-cmd --permanent --new-zone=k8s-pods
firewall-cmd --permanent --zone=k8s-pods --add-source PODS_CIDR
firewall-cmd --permanent --zone=k8s-pods --set-target=ACCEPT
firewall-cmd --reload

Remplacez PODS_CIDR par les blocs CIDR réservés pour vos pods configurés dans le champ clusterNetwork.pods.cidrBlocks. Le bloc CIDR par défaut pour les pods est 192.168.0.0/16.

Exemple de configuration de nœud d'équilibreur de charge

Le bloc de commandes suivant montre un exemple d'ouverture des ports requis sur les serveurs exécutant des nœuds d'équilibreur de charge :

firewall-cmd --permanent --zone=public --add-port=22/tcp
firewall-cmd --permanent --zone=public --add-port=4240/tcp
firewall-cmd --permanent --zone=public --add-port=6444/tcp
firewall-cmd --permanent --zone=public --add-port=7946/tcp
firewall-cmd --permanent --zone=public --add-port=7946/udp
firewall-cmd --permanent --zone=public --add-port=6081/udp
firewall-cmd --permanent --zone=public --add-port=10250/tcp
firewall-cmd --permanent --zone=public --add-port=10256/tcp
firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --permanent --zone=public --add-port=30000-32767/tcp
firewall-cmd --permanent --new-zone=k8s-pods
firewall-cmd --permanent --zone=k8s-pods --add-source PODS_CIDR
firewall-cmd --permanent --zone=k8s-pods --set-target=ACCEPT
firewall-cmd --reload

Remplacez PODS_CIDR par les blocs CIDR réservés pour vos pods configurés dans le champ clusterNetwork.pods.cidrBlocks. Le bloc CIDR par défaut pour les pods est 192.168.0.0/16.