檢視次數:
設定檔適用性:等級 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 由機器配置運營商(Machine Config Operator)管理。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。