檢視次數:
設定檔適用性:等級 1
關閉唯讀埠。
Kubelet 程序除了主要的 Kubelet API 外,還提供了一個唯讀 API。此唯讀 API 提供未經身份驗證的訪問,可能會檢索到有關叢集的潛在敏感資訊。
注意
注意
在 OpenShift 4.5 及更早版本中,預設不使用 --read-only-port。在 OpenShift 4.6 及更高版本中,kubelet-read-only-port 設定為 0。

影響

移除唯讀埠將需要重新配置任何使用該埠的服務,以使用主要的 Kubelet API。

稽核

在 OpenShift 4 中,kubelet 由機器配置運算元管理。kubelet 配置檔案位於 /etc/kubernetes/kubelet.conf。OpenShift 通過在 OpenShift 4.6 及以上版本中將 read-only-port kubelet 標誌預設設置為 0,來禁用所有節點上的唯讀埠(10255)。
執行以下命令以驗證 Kubernetes API 伺服器配置映射中的 kubelet-read-only-port 是否設置為 0。
oc -n openshift-kube-apiserver get cm config -o json | jq -r
'.data."config.yaml"' | yq '.apiServerArguments."kubelet-read-only-port"'
確認輸出為包含 0 的列表,如下所示:
[
"0"
]

補救

在較早版本的 OpenShift 4 中,不使用 read-only-port 參數。請按照 OpenShift 文件 中的說明來建立 kubeletconfig CRD,並將 kubelet-read-only-port 設定為 0。