設定檔適用性:等級 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。
