本頁面說明 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 |
後續步驟
- 閱讀 GKE 網路總覽。
- 瞭解 Kubernetes 服務。
- 瞭解如何公開應用程式。