예약된 hostPorts


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

GKE 시스템 예약된 hostPorts

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을 사용할 때는 정확한 hostPorts를 지정할 수 없습니다.

예약된 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(로컬 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, 8201, 8202, 8203
GPU 기기 플러그인 2112
runsc(gVisor / GKE Sandbox) 9115
containerd 1338
GKE 측정항목 수집기 11123
netd 10231

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

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

다음 단계