Informationen zur Fehlerbehebung beim TKGS-Clusternetzwerk finden Sie in den Tipps in diesem Abschnitt.
Überprüfen des Knotennetzwerks
Netzwerkobjekt | Netzwerkressourcen | Beschreibung | Beheben | Befehl |
---|---|---|---|---|
VirtualNetwork | Tier-1-Router und verknüpftes Segment | Knotennetzwerk für den Cluster | Stellen Sie sicher, dass die SNAT-IP zugewiesen ist | kubectl get virtualnetwork -n NS-NAME |
VirtualNetworkInterface | Logischer Port auf Segment | Knotennetzwerkschnittstelle für Clusterknoten | Sicherstellen, dass jede virtuelle Maschine über eine IP-Adresse verfügt | kubectl get virtualmachines -n NS-NAME NODE-NAME |
Überprüfen des Lastausgleichsdiensts für die Steuerungsebene
Der Lastausgleichsdienst für die Steuerungsebene des TKG-Clusters bietet Zugriff auf den Kubernetes-API-Server. Dieser Lastausgleichsdienst wird während der Clustererstellung automatisch vom System bereitgestellt. Es sollte über die folgenden Ressourcen verfügen.
kubectl get services -A | grep control-plane-service
Netzwerkobjekt | Netzwerkressourcen | Beschreibung | Beheben | Befehl |
---|---|---|---|---|
VirtualMachineService | Nicht verfügbar | VirtualMachineService wird erstellt und in einen k8s-Dienst übersetzt. | Stellen Sie sicher, dass der Status aktualisiert ist und die virtuelle IP (VIP) des Lastausgleichsdiensts enthält. | kubectl get virtualmachineservices -n NS-NAME SERVICE-NAME |
Dienst | Lastausgleichsserver mit VirtualServer-Instanz und zugeordneter Serverpool (Mitgliederpool) | Der Kubebernetes-Dienst vom Typ „Lastausgleichsdienst“ wird für den Zugriff auf den TKG-Cluster-API-Server erstellt. | Stellen Sie sicher, dass eine externe IP-Adresse zugewiesen ist. Stellen Sie sicher, dass Sie über die externe IP des LB-Diensts auf die TKG-Cluster-API zugreifen können. |
Supervisor-Namespace:
kubectl get services -A | grep control-plane-service
Cluster-Namespace:
kubectl get services -n NS-NAME
Beide Namespaces
curl -k https://EXTERNAL-IP:PORT/healthz |
Endpoints | Die Endpoint-Mitglieder (Knoten der Steuerungsebene des TKG-Clusters) sollten sich im Mitgliedspool befinden. | Ein Endpoint wird erstellt, um alle Steuerungsebenenknoten des TKG-Clusters einzubeziehen. | kubectl get endpoints -n NS-NAME SERVICE-NAME |
Überprüfen der Lastausgleichsdienste auf Worker-Knoten
Eine Lastausgleichsdienst-Instanz für die Worker-Knoten des TKG-Clusters wird vom Benutzer erstellt, wenn ein Kubernetes-Dienst vom Typ „LoadBalancer“ erstellt wird.
kubectl get pods -n vmware-system-cloud-provider
Netzwerkobjekte | Netzwerkressourcen | Beschreibung | Befehl |
---|---|---|---|
VirtualMachineService in Supervisor | Nicht verfügbar | Ein VirtualMachineService wird im Supervisor erstellt und in einen Kubernetes-Dienst im Supervisor übersetzt | kubectl get virtualmachineservice -n NS-NAME SVC-NAME |
Lastausgleichsdienst im Supervisor | VirtualServer im TKG-Cluster-Lastausgleichsdienst und ein zugehöriger Mitgliederpool. | Der Lastausgleichsdienst wird im Supervisor für den Zugriff auf diesen LB-Diensttyp erstellt | kubectl get services -n NS-NAME SVC-NAME |
Endpoints im Supervisor | Die Endpoint-Mitglieder (TKG-Cluster-Worker-Knoten) sollten sich im Mitgliedspool in NSX befinden. | Ein Endpoint wird erstellt, um alle Worker-Knoten des TKG-Clusters einzubeziehen | # kubectl get endpoints -n NS-NAME SVC-NAME |
Lastausgleichsdienst im TKG-Cluster | Nicht verfügbar | Für den Lastausgleichsdienst im vom Benutzer bereitgestellten TKG-Cluster sollte der Status mit der Lastausgleichsdienst-IP aktualisiert werden | kubectl get services |
Prüfen des Supervisor-NSX-Netzwerk-Stacks
Der Kubernetes-API-Server, der NCP-Pod und der Manager-Container, der in einem beliebigen Controller-Pod ausgeführt wird, sind die primären Ausgangspunkte für die Überprüfung von Infrastruktur-Netzwerkproblemen.
{"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
Dieser Befehl listet alle VMkernel-Schnittstellen des Hosts auf. Wenn Sie über eine einzelne TEP-Schnittstelle verfügen, handelt es sich dabei immer um vmk10. Wenn Sie über eine zweite oder dritte TEP-Schnittstelle verfügen, sind dies vmk11 und vmk12 usw. Die Anzahl der erstellten TEP-Schnittstellen hängt davon ab, wie viele Uplinks Sie dem TEP im Uplink-Profil zugewiesen haben. Pro Uplink wird eine TEP-Schnittstelle erstellt, wenn Sie für die TEPs die Lastverteilung („Load Sharing“) über Uplinks ausgewählt haben.
vmkping ++netstack=vxlan -s 1572 -d -I vmk10 10.218.60.66
- ist
-s
die Paketgröße - bedeutet
-d
, dass keine Fragmentierung erfolgen soll - bedeutet
-I
, dass der Link von vmk10 bezogen werden soll - ist die
IP address
eine TEP-Schnittstelle auf einem anderen ESXi-Host oder NSX Edge, den Sie pingen