HostPorts reservados

En esta página, se describe la lista de hostPorts reservados en Google Kubernetes Engine (GKE).

hostPorts reservados por el sistema de GKE

GKE reserva rangos de hostPort específicos para sus procesos y servicios internos del sistema. Estas reservas son fundamentales para mantener la estabilidad y la funcionalidad de los clústeres de GKE. Aunque GKE, por lo general, no recomienda el uso de hostPort para las aplicaciones de usuario debido a posibles conflictos y riesgos de seguridad, depende de ellos para las operaciones internas.

Propósito de los hostPorts reservados

  • Comunicación del plano de control: Algunos componentes de GKE, como kubelet y metrics-server, pueden usar hostPorts específicos para comunicarse con el plano de control o con otros servicios internos.
  • Daemons del sistema: Es posible que los daemons y agentes del sistema de GKE requieran acceso a puertos específicos en los nodos para tareas de supervisión, registro o de otro tipo.
  • Servicios internos: Los servicios internos de GKE, responsables de la administración del clúster y las verificaciones de estado, pueden usar hostPorts reservados.

Información sobre los rangos reservados

Si bien los rangos exactos pueden variar según la versión y la configuración de GKE, GKE reserva una parte del espacio de puertos disponible. Por lo general, estos rangos reservados no se documentan para el uso de usuarios externos, ya que están sujetos a cambios. Es muy importante evitar el uso de puertos con números bajos, ya que los sistemas operativos suelen reservarlos.

Prácticas recomendadas

Recomendaciones:

  • Evita el uso de hostPort: Minimiza el uso de hostPort en las implementaciones de tu aplicación para reducir el riesgo de conflictos con los puertos reservados de GKE.
  • Abstracciones de Service: Usa tipos de Service de Kubernetes (NodePort, LoadBalancer, Ingress) como alternativas preferidas a hostPort.
  • Análisis de seguridad: Si hostPort es inevitable, revisa y, luego, implementa con cuidado las reglas de firewall para restringir el acceso a los puertos expuestos.
  • Consideraciones de Autopilot: Cuando usas Autopilot de GKE, ten en cuenta que no puedes especificar hostPorts exactos.

Lista de hostPorts reservados

Componente Puertos de host reservados
CNI / DPv2 9990, 6942, 9890, 4244, 9965
kubelet 4194, 10248, 10250, 10255
kube-proxy 10249 y 10256
node-problem-detector 20256
fluentbit 2020, 2021, 2022
stackdriver-metadata-agent 8799
sunrpc (activaciones de NFS locales) 665 - 986
Filestore 990
k8s-metadata-proxy / gke-metadata-server 987, 988 y 989
node-local-dns 53, 8080, 9253, 9353
gcfsd 11253
Política de red de Antrea 10349, 10350, 10351, 10352
network-metering-agent 47082 y 47083
configconnector 8888, 48797
gke-spiffe 9889
workload-identity-webhook 9910
Agente de métricas de GKE 8200 - 8227
node-gboc 8228 - 8231
Complemento de dispositivo de GPU 2112
runsc (gVisor / GKE Sandbox) 9115
containerd 1338
Colector de métricas de GKE 11123
netd 10231
Controlador de CSI de Cloud Storage FUSE 9920 y 9921
Controlador de CSI de Persistent Disk para Compute Engine 9930 y 9931

Lista de hostPorts reservados que son específicos de Autopilot

Componente HostPorts reservados
Agente de Splunk para Autopilot 8006, 14250, 14268, 4317, 9080, 9943, 9411
Agente de Monitoring de Datadog de Autopilot 8125 y 8126

¿Qué sigue?