Reportez-vous aux conseils de cette section pour résoudre les erreurs de mise en réseau du cluster TKGS.
Vérifier la mise en réseau des nœuds
Objet de réseau | Ressources réseau | Description | Dépanner | Commande |
---|---|---|---|---|
Réseau virtuel | Routeur de niveau 1 et segment lié | Réseau de nœuds pour le cluster | Assurez-vous que l'adresse IP SNAT est attribuée | kubectl get virtualnetwork -n NS-NAME |
VirtualNetworkInterface | Port logique sur le segment | Interface réseau du nœud pour les nœuds de cluster | Assurez-vous que chaque machine virtuelle dispose d'une adresse IP | kubectl get virtualmachines -n NS-NAME NODE-NAME |
Vérifier l'équilibrage de charge du plan de contrôle
L'équilibrage de charge du plan de contrôle du cluster TKG fournit l'accès au serveur d'API Kubernetes. Cet équilibrage de charge est automatiquement provisionné par le système lors de la création du cluster. Il doit disposer des ressources suivantes.
kubectl get services -A | grep control-plane-service
Objet de réseau | Ressources réseau | Description | Dépanner | Commande |
---|---|---|---|---|
VirtualMachineService | S.O. | VirtualMachineService est créé et traduit en service k8s. | Assurez-vous que son état est mis à jour et inclut l'adresse IP virtuelle (VIP) de l'équilibrage de charge. | kubectl get virtualmachineservices -n NS-NAME SERVICE-NAME |
Service | Serveur d'équilibrage de charge avec instance de VirtualServer et pool de serveurs associé (pool de membres) | Le service Kubernetes de type Équilibrage de charge est créé pour accéder au serveur d'API du cluster TKG. | Assurez-vous qu'une adresse IP externe est attribuée. Assurez-vous que vous pouvez accéder à l'API du cluster TKG via l'adresse IP externe du service d'équilibrage de charge. |
Espace de noms de superviseur :
kubectl get services -A | grep control-plane-service
Espace de noms de cluster :
kubectl get services -n NS-NAME
Espace de noms quelconque
curl -k https://EXTERNAL-IP:PORT/healthz |
Points de terminaison | Les membres du point de terminaison (nœuds de plan de contrôle du cluster TKG) doivent se trouver dans le pool de membres. | Un point de terminaison est créé pour inclure tous les nœuds de plan de contrôle du cluster TKG. | kubectl get endpoints -n NS-NAME SERVICE-NAME |
Vérifier les services d'équilibrage de charge sur les nœuds worker
Une instance d'équilibrage de charge pour les nœuds worker du cluster TKG est créée par l'utilisateur lorsqu'un service Kubernetes de type Équilibrage de charge est créé.
kubectl get pods -n vmware-system-cloud-provider
Objets de réseau | Ressources réseau | Description | Commande |
---|---|---|---|
VirtualMachineService dans le superviseur | S.O. | Un VirtualMachineService est créé dans le superviseur et traduit en service Kubernetes dans le superviseur | kubectl get virtualmachineservice -n NS-NAME SVC-NAME |
Service d'équilibrage de charge dans le superviseur | VirtualServer dans l'équilibrage de charge du cluster TKG et un pool de membres associé. | Le service d'équilibrage de charge est créé dans le superviseur pour accéder à ce type de service d'équilibrage de charge | kubectl get services -n NS-NAME SVC-NAME |
Points de terminaison dans le superviseur | Les membres du point de terminaison (nœuds worker du cluster TKG) doivent se trouver dans le pool de membres dans NSX. | Un point de terminaison est créé pour inclure tous les nœuds worker du cluster TKG | # kubectl get endpoints -n NS-NAME SVC-NAME |
Service d'équilibrage de charge dans le cluster TKG | S.O. | Le service d'équilibrage de charge dans le cluster TKG déployé par l'utilisateur doit être mis à jour avec l'adresse IP de l'équilibrage de charge | kubectl get services |
Vérifier la pile de mise en réseau NSX du Superviseur
Le serveur d'API Kubernetes, l'espace NCP et le conteneur du gestionnaire qui s'exécutent dans n'importe quel espace de contrôleur sont les points de départ principaux pour vérifier les problèmes de mise en réseau de l'infrastructure.
{"log":"I0126 19:40:15.347154 1 log.go:172] http: TLS handshake error from 100.64.128.1:4102: EOF\n","stream":"stderr","time":"2021-01-26T19:40:15.347256146Z"}
esxcli network ip interface ipv4 get
Cette commande répertorie toutes les interfaces VMkernel de l'hôte. Si vous disposez d'une seule interface TEP, il s'agira toujours de vmk10. Si vous disposez d'une deuxième ou troisième interface TEP, il s'agira de vmk11 et vmk12, et ainsi de suite. La quantité d'interfaces TEP créées dépend du nombre de liaisons montantes que vous avez attribuées au TEP dans le profil de liaison montante. Une interface TEP est créée par liaison montante, si vous avez sélectionné « Partage de charge » pour les TEP entre les liaisons montantes.
vmkping ++netstack=vxlan -s 1572 -d -I vmk10 10.218.60.66
-s
correspond à la taille du paquet.-d
signifie ne pas fragmenter.-I
signifie récupérer le lien à partir de vmk10.- L'
IP address
est une interface TEP sur un autre hôte ESXi ou NSX Edge sur lequel vous exécutez une commande ping.