Consulte los consejos de esta sección para corregir los errores de redes de clústeres de TKGS.
Comprobar redes de nodos
Objeto de red | Recursos de red | Descripción | Solucionar problemas | Comando |
---|---|---|---|---|
Red virtual | Enrutador de nivel 1 y segmento vinculado | Red de nodo para el clúster | Asegurarse de que la IP de SNAT esté asignada | kubectl get virtualnetwork -n NS-NAME |
VirtualNetworkInterface | Puerto lógico en el segmento | Interfaz de red de nodo para nodos del clúster | Asegurarse de que cada máquina virtual tenga una dirección IP | kubectl get virtualmachines -n NS-NAME NODE-NAME |
Comprobar el equilibrador de carga para el plano de control
El equilibrador de carga del plano de control del clúster de TKG proporciona acceso al servidor de la API de Kubernetes. El sistema aprovisiona automáticamente este equilibrador de carga durante la creación del clúster. Debe tener los siguientes recursos.
kubectl get services -A | grep control-plane-service
Objeto de red | Recursos de red | Descripción | Solucionar problemas | Comando |
---|---|---|---|---|
Servicio de máquina virtual | N/C | Se crea el servicio de máquina virtual y se traduce a un servicio k8s. | Asegúrese de que su estado esté actualizado y que incluya la IP virtual (VIP) del equilibrador de carga. | kubectl get virtualmachineservices -n NS-NAME SERVICE-NAME |
Servicio | Servidor de equilibrador de carga con instancia de servidor virtual y grupo de servidores asociado (grupo de miembros) | Se crea un servicio de Kubernetes de tipo equilibrador de carga para acceder al servidor de API del clúster de TKG. | Asegúrese de que se haya asignado una IP externa. Asegúrese de que puede acceder a la API del clúster de TKG a través de la IP externa del servicio de equilibrador de carga. |
Espacio de nombres de supervisor:
kubectl get services -A | grep control-plane-service
Espacio de nombres del clúster:
kubectl get services -n NS-NAME
Cualquier espacio de nombres
curl -k https://EXTERNAL-IP:PORT/healthz |
Endpoints | Los miembros del endpoint (nodos de plano de control del clúster de TKG) deben estar en el grupo de miembros. | Se crea un endpoint para incluir todos los nodos del plano de control del clúster de TKG. | kubectl get endpoints -n NS-NAME SERVICE-NAME |
Comprobar los servicios del equilibrador de carga en los nodos de trabajo
El usuario crea una instancia de equilibrador de carga para los nodos de trabajo del clúster de TKG cuando se crea un servicio de Kubernetes de tipo equilibrador de carga.
kubectl get pods -n vmware-system-cloud-provider
Objetos de red | Recursos de red | Descripción | Comando |
---|---|---|---|
Servicio de máquina virtual en supervisor | N/C | Se crea un servicio de máquina virtual en supervisor y se traduce en un servicio de Kubernetes en supervisor | kubectl get virtualmachineservice -n NS-NAME SVC-NAME |
Servicio de equilibrador de carga en supervisor | Servidor virtual en el equilibrador de carga del clúster de TKG y un grupo de miembros asociado. | Se crea el servicio de equilibrador de carga en supervisor para acceder a este tipo de servicio de equilibrador de carga | kubectl get services -n NS-NAME SVC-NAME |
Endpoints en Supervisor | Los miembros del endpoint (nodos de trabajo del clúster de TKG) deben estar en el grupo de miembros en NSX. | Se crea un endpoint para incluir todos los nodos de trabajo del clúster de TKG | # kubectl get endpoints -n NS-NAME SVC-NAME |
Servicio de equilibrador de carga en el clúster de TKG | N/C | El servicio del equilibrador de carga en el clúster de TKG implementado por el usuario debe tener su estado actualizado con la IP del equilibrador de carga | kubectl get services |
Comprobar la pila de redes NSX Supervisor
El servidor de API de Kubernetes, el pod de NCP y el contenedor del administrador que se ejecuta en cualquier pod de controlador son los puntos de partida principales para comprobar los problemas de redes de infraestructura.
{"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
Este comando enumera todas las interfaces de VMkernel del host. Si tiene una única interfaz de TEP, siempre será vmk10. Si tiene una interfaz de TEP de segundo o tercer nivel, será vmk11, vmk12 y así sucesivamente. La cantidad de interfaces de TEP que se crean depende de cuántos vínculos superiores haya asignado al TEP en el perfil de vínculo superior. Se crea una interfaz de TEP por vínculo superior si seleccionó "uso compartido de carga" para los TEP entre vínculos superiores.
vmkping ++netstack=vxlan -s 1572 -d -I vmk10 10.218.60.66
-s
es el tamaño del paquete-d
significa no fragmentar-I
significa que el origen del vínculo es vmk10IP address
es una interfaz de TEP en otro host ESXi o NSX Edge al que está haciendo ping