Reserved hostPorts


This page describes the list of reserved hostPorts within Google Kubernetes Engine (GKE).

GKE System reserved hostPorts

GKE reserves specific hostPort ranges for its internal system processes and services. These reservations are crucial for maintaining the stability and functionality of GKE clusters. Although GKE generally discourages the use of hostPort for user applications due to potential conflicts and security risks, it relies on them for internal operations.

Purpose of reserved hostPorts

  • Control plane communication: certain GKE components, such as the kubelet and metrics-server, might use specific hostPorts for communication with the control plane or other internal services.
  • System daemons: GKE system daemons and agents might require access to specific ports on the nodes for monitoring, logging, or other operational tasks.
  • Internal services: GKE's internal services, responsible for cluster management and health checks, might use reserved hostPorts.

Understanding reserved ranges

Although the exact ranges can vary based on GKE version and configuration, GKE reserves a portion of the available port space. These reserved ranges are typically not documented for external user usage, as they are subject to change. It is very important to avoid using low-numbered ports, as these are commonly reserved by operating systems.

Best practices

Best practices:

  • Avoid hostPort usage: minimize the use of hostPort in your application deployments to reduce the risk of conflicts with GKE's reserved ports.
  • Service abstractions: use Kubernetes service types (NodePort, LoadBalancer, Ingress) as preferred alternatives to hostPort.
  • Security scrutiny: if hostPort is unavoidable, carefully review and implement firewall rules to restrict access to the exposed ports.
  • Autopilot considerations: when you use GKE Autopilot, be aware that you are unable to specify exact hostPorts.

List of reserved hostPorts

Component Reserved Host Ports
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 (local NFS mounts) 665 - 986
Filestore 990
k8s-metadata-proxy / gke-metadata-server 987, 988, 989
node-local-dns 53, 8080, 9253, 9353
gcfsd 11253
Network policy Antrea 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 Device plugin 2112
runsc (gVisor / GKE Sandbox) 9115
containerd 1338
GKE Metrics Collector 11123
netd 10231

List of reserved hostPorts that are specific to Autopilot

Component Reserved HostPorts
Autopilot Splunk Agent 8006, 14250, 14268, 4317, 9080, 9943, 9411
Autopilot Datadog Monitoring Agent 8125, 8126

What's next