Configuration réseau requise
Configuration réseau externe requise
Anthos clusters on bare metal nécessite une connexion Internet à des fins opérationnelles. Anthos clusters on bare metal récupère les composants du cluster à partir de Container Registry, et le cluster est enregistré auprès de Connect.
Vous pouvez vous connecter à Google via le réseau Internet public (avec HTTPS), via un réseau privé virtuel (VPN) ou via une interconnexion dédiée
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 et nécessitent que les nœuds d'équilibreur de charge se trouvent dans le même domaine 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 sur la configuration, consultez la page Choisir et configurer des équilibreurs de charge.
L'exigence de réseau 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 exigences 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 se trouver dans le sous-réseau de la machine de l'équilibreur de charge et être dirigées vers la passerelle du sous-réseau.
- Les utilisateurs sont responsables de l'autorisation du 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 à 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. En supposant que la valeur clusterNetwork.pods.cidrBlocks
du cluster soit configurée sur la valeur par défaut /16
, cela permet au cluster d'avoir une limite de (2(23-16)), soit 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.
- Les nœuds du plan de contrôle exécutent des équilibreurs de charge et se trouvent sur le même réseau de couche 2, tandis que les autres connexions, y compris les nœuds de calcul, nécessitent 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
- Une connexion à Google Cloud est également requise.
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 maîtres
Protocole | Direction | Plage de ports | Usage | Utilisée par |
---|---|---|---|---|
UDP | Entrant | 6081 | Encapsulation du protocole GENEVE | Perso |
TCP | Entrant | 22 | Provisionnement et mises à jour des nœuds d'un cluster d'administrateur | Poste de travail administrateur |
TCP | Entrant | 6444 | Serveur d'API Kubernetes | Tout |
TCP | Entrant | 2379 - 2380 | API client serveur etcd | kube-apiserver, etcd |
TCP | Entrant | 10250 | API kubelet | Perso, plan de contrôle |
TCP | Entrant | 10251 | kube-scheduler | Perso |
TCP | Entrant | 10252 | kube-controller-manager | Perso |
TCP | Les deux | 4240 | Vérification de l'état CNI | Tout |
Nœuds de calcul
Protocole | Direction | Plage de ports | Usage | Utilisée par |
---|---|---|---|---|
TCP | Entrant | 22 | Provisionnement et mises à jour des nœuds d'un cluster d'utilisateur | Nœuds du cluster d'administrateur |
UDP | Entrant | 6081 | Encapsulation du protocole GENEVE | Perso |
TCP | Entrant | 10250 | API kubelet | Perso, plan de contrôle |
TCP | Entrant | 30000 - 32767 | Services NodePort | Perso |
TCP | Les deux | 4240 | Vérification de l'état CNI | Tout |
Nœuds d'équilibrage de charge
Protocole | Direction | Plage de ports | Usage | Utilisée par |
---|---|---|---|---|
TCP | Entrant | 22 | Provisionnement et mises à jour des nœuds d'un cluster d'utilisateur | Nœuds du cluster d'administrateur |
UDP | Entrant | 6081 | Encapsulation du protocole GENEVE | Perso |
TCP | Entrant | 443* | Gestion des clusters | Tout |
TCP | Les deux | 4240 | Vérification de l'état CNI | Tout |
TCP | Entrant | 7946 | Vérification de l'état de l'équilibreur de charge Metal | Nœuds d'équilibrage de charge |
UDP | Entrant | 7946 | Vérification de l'état de l'équilibreur de charge Metal | Nœuds d'équilibrage de charge |
* 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.
Protocole | Direction | Plage de ports | Usage | Utilisée par |
---|---|---|---|---|
TCP | Entrant | 22 | Provisionnement et mises à jour des nœuds de cluster | Tous les nœuds |
TCP | Entrant | 443* | Serveur d'API Kubernetes pour un cluster ajouté | Plan de contrôle, nœuds d'équilibrage de charge |
* Ce port peut être configuré dans la configuration du cluster via le champ controlPlaneLBPort
.
Configurer les ports de firewalld
À partir d'Anthos clusters on Bare Metal 1.7.0, vous n'êtes pas obligé de désactiver le pare-feu pour exécuter Anthos clusters on Bare Metal sur Red Hat Enterprise Linux (RHEL) ou CentOS. Pour utiliser un pare-feu, vous devez ouvrir les ports UDP et TCP utilisés par le nœud maître, le nœud de calcul et l'équilibreur de charge, 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
, le client en ligne de commande de firewalld.
Exemple de configuration de nœud maître
L'exemple de bloc de commandes suivant montre comment ouvrir les ports requis sur les serveurs exécutant des nœuds maîtres :
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=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 à vos pods, 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
L'exemple de bloc de commandes suivant montre comment ouvrir les 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=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 à vos pods, 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
L'exemple de bloc de commandes suivant montre comment ouvrir les 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=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 --reloadfirewall-cmd --reload
Remplacez PODS_CIDR par les blocs CIDR réservés à vos pods, clusterNetwork.pods.cidrBlocks
. Le bloc CIDR par défaut pour les pods est 192.168.0.0/16
.