保留的 hostPorts


本頁面說明 Google Kubernetes Engine (GKE) 內保留的 hostPort 清單。

GKE 系統保留的 hostPort

GKE 會保留特定 hostPort 範圍,供內部系統程序和服務使用。這些預留空間對於維持 GKE 叢集的穩定性和功能至關重要。雖然 GKE 一般不建議使用者應用程式使用 hostPort,以免發生潛在衝突和安全風險,但內部作業仍會用到這些項目。

預留 hostPort 的用途

  • 控制層通訊:某些 GKE 元件 (例如 kubelet 和指標伺服器) 可能會使用特定 hostPort,與控制層或其他內部服務通訊。
  • 系統精靈:GKE 系統精靈和代理程式可能需要存取節點上的特定連接埠,才能進行監控、記錄或其他作業工作。
  • 內部服務:GKE 的內部服務負責叢集管理和健康狀態檢查,可能會使用保留的 hostPort。

瞭解保留範圍

雖然確切範圍可能會因 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 年
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 專用的保留 hostPort 清單

元件 保留的 HostPort
Autopilot Splunk Agent 8006、14250、14268、4317、9080、9943、9411
Autopilot Datadog Monitoring 代理程式 8125、8126

後續步驟