예약된 hostPorts

이 페이지에서는 Google Kubernetes Engine(GKE) 내에서 예약된 hostPorts 목록을 설명합니다.

GKE 시스템 예약 호스트 포트

GKE는 내부 시스템 프로세스 및 서비스를 위해 특정 hostPort 범위를 예약합니다. 이러한 예약은 GKE 클러스터의 안정성과 기능을 유지하는 데 매우 중요합니다. GKE는 일반적으로 잠재적인 충돌 및 보안 위험으로 인해 사용자 애플리케이션에 hostPort 사용을 권장하지 않지만 내부 작업에는 이를 사용합니다.

예약된 hostPorts의 용도

  • 컨트롤 플레인 통신: kubelet 및 metrics-server와 같은 특정 GKE 구성요소는 제어 영역 또는 기타 내부 서비스와 통신하기 위해 특정 hostPorts를 사용할 수 있습니다.
  • 시스템 데몬: GKE 시스템 데몬 및 에이전트에는 모니터링, 로깅 또는 기타 운영 작업에 노드의 특정 포트에 대한 액세스가 필요할 수 있습니다.
  • 내부 서비스: 클러스터 관리 및 상태 확인을 담당하는 GKE의 내부 서비스는 예약된 hostPorts를 사용할 수 있습니다.

예약된 범위 이해

정확한 범위는 GKE 버전과 구성에 따라 다를 수 있지만 GKE는 사용 가능한 포트 공간의 일부를 예약합니다. 이러한 예약된 범위는 변경될 수 있으므로 일반적으로 외부 사용자 사용에 대해 문서화되지 않습니다. 운영체제에서 일반적으로 예약하는 번호가 낮은 포트는 사용하지 않는 것이 매우 중요합니다.

권장사항

권장사항:

  • hostPort 사용 방지: 애플리케이션 배포에서 hostPort 사용을 최소화하여 GKE의 예약된 포트와의 충돌 위험을 줄입니다.
  • 서비스 추상화: Kubernetes 서비스 유형(NodePort, LoadBalancer, Ingress)을 hostPort의 대안으로 사용합니다.
  • 보안 검토: hostPort를 피할 수 없는 경우 노출된 포트에 대한 액세스를 제한하도록 방화벽 규칙을 신중하게 검토하고 구현합니다.
  • Autopilot 고려사항: GKE Autopilot을 사용하는 경우 정확한 hostPort를 지정할 수 없습니다.

예약된 hostPort 목록

구성요소 예약된 호스트 포트
CNI / DPv2 9990, 6942, 9890, 4244, 9965
kubelet 4194, 10248, 10250, 10255
kube-proxy 10249, 10256
node-problem-detector 20256
fluentbit 2020, 2021, 2022
stackdriver-metadata-agent 8799
sunrpc(로컬 NFS 마운트) 665 - 986
Filestore 990
k8s-metadata-proxy / gke-metadata-server 987, 988, 989
node-local-dns 53, 8080, 9253, 9353
gcfsd 11253
네트워크 정책 Antrea 10349, 10350, 10351, 10352
network-metering-agent 47082, 47083
configconnector 8888, 48797
gke-spiffe 9889
workload-identity-webhook 9910
GKE 측정항목 에이전트 8200~8227
GPU 기기 플러그인 2112
runsc(gVisor / GKE Sandbox) 9115
containerd 1338
GKE 측정항목 수집기 11123
netd 10231

Autopilot에만 해당하는 예약된 hostPorts 목록

구성요소 예약된 HostPorts
Autopilot Splunk Agent 8006, 14250, 14268, 4317, 9080, 9943, 9411
Autopilot Datadog 모니터링 에이전트 8125, 8126

다음 단계