Auf dieser Seite wird die Liste der reservierten hostPorts in Google Kubernetes Engine (GKE) beschrieben.
Von GKE-System reservierte HostPorts
GKE reserviert bestimmte hostPort
-Bereiche für seine internen Systemprozesse und ‑dienste. Diese Reservierungen sind entscheidend für die Stabilität und Funktionalität von GKE-Clustern. Obwohl GKE die Verwendung von hostPort
für Nutzeranwendungen aufgrund potenzieller Konflikte und Sicherheitsrisiken im Allgemeinen nicht empfiehlt, werden sie für interne Vorgänge verwendet.
Zweck reservierter hostPorts
- Kommunikation mit der Steuerungsebene: Bestimmte GKE-Komponenten wie kubelet und metrics-server verwenden möglicherweise bestimmte hostPorts für die Kommunikation mit der Steuerungsebene oder anderen internen Diensten.
- System-Daemons: GKE-System-Daemons und -Agents benötigen möglicherweise Zugriff auf bestimmte Ports auf den Knoten für Monitoring, Logging oder andere betriebliche Aufgaben.
- Interne Dienste: Die internen Dienste von GKE, die für die Clusterverwaltung und Systemdiagnosen zuständig sind, verwenden möglicherweise reservierte hostPorts.
Informationen zu reservierten Bereichen
Die genauen Bereiche können je nach GKE-Version und -Konfiguration variieren, aber GKE reserviert einen Teil des verfügbaren Portbereichs. Diese reservierten Bereiche werden in der Regel nicht für die Nutzung durch externe Nutzer dokumentiert, da sie sich ändern können. Es ist sehr wichtig, die Verwendung von Ports mit niedrigen Nummern zu vermeiden, da diese in der Regel von Betriebssystemen reserviert sind.
Best Practices
Best Practices:
- Verwendung von „hostPort“ vermeiden: Minimieren Sie die Verwendung von „hostPort“ in Ihren Anwendungsbereitstellungen, um das Risiko von Konflikten mit den reservierten Ports von GKE zu verringern.
- Service-Abstraktionen: Verwenden Sie Kubernetes-Diensttypen (NodePort, LoadBalancer, Ingress) als bevorzugte Alternativen zu hostPort.
- Sicherheitsprüfung: Wenn hostPort unvermeidlich ist, prüfen Sie die Firewallregeln sorgfältig und implementieren Sie sie, um den Zugriff auf die freigegebenen Ports einzuschränken.
- Autopilot-Überlegungen: Wenn Sie GKE Autopilot verwenden, können Sie keine genauen hostPorts angeben.
Liste der reservierten Hostports
Komponente | Reservierte Hostports |
---|---|
CNI / DPv2 | 9990, 6942, 9890, 4244, 9965 |
Kubelet | 4194, 10248, 10250, 10255 |
kube-proxy | 10249, 10256 |
node-problem-detector | 20256 |
fluentbit | 2020, 2021 |
stackdriver-metadata-agent | 8799 |
sunrpc (lokale NFS-Bereitstellungen) | 665–986 |
Filestore | 990 |
k8s-metadata-proxy / gke-metadata-server | 987, 988, 989 |
node-local-dns | 53, 8080, 9253, 9353 |
gcfsd | 11253 |
Antrea-Netzwerkrichtlinie | 10349, 10350, 10351, 10352 |
network-metering-agent | 47082, 47083 |
configconnector | 8888, 48797 |
gke-spiffe | 9889 |
workload-identity-webhook | 9910 |
GKE Metrics Agent | 8200, 8201, 8202, 8203 |
GPU-Geräte-Plug-in | 2112 |
runsc (gVisor / GKE Sandbox) | 9115 |
containerd | 1338 |
GKE Metrics Collector | 11123 |
netd | 10231 |
Liste der reservierten HostPorts, die speziell für Autopilot gelten
Komponente | Reservierte HostPorts |
---|---|
Autopilot Splunk Agent | 8006, 14250, 14268, 4317, 9080, 9943, 9411 |
Autopilot Datadog Monitoring Agent | 8125, 8126 |