設定檔適用性:等級 1
允許 Kubelet 管理 iptables。
Kubelets 可以根據您選擇的 pod 網路選項,自動管理 iptables 所需的更改。建議讓 kubelets 管理 iptables 的更改。這可確保 iptables
配置與 pod 網路配置保持同步。手動配置 iptables 並進行動態 pod 網路配置更改可能會妨礙 pod/容器之間以及與外界的通信。您可能會有過於限制或過於開放的
iptables 規則。
注意請參閱 Azure AKS 文件以了解預設值。
|
影響
Kubelet 會管理系統上的 iptables 並保持同步。如果您使用其他 iptables 管理解決方案,可能會發生一些衝突。
稽核
Audit Method 1如果使用 Kubelet 配置檔案,請檢查是否有
makeIPTablesUtilChains 的項目設置為 true。-
SSH到相關節點。
-
在每個節點上執行以下命令以找到適當的 Kubelet 配置檔案:
ps -ef | grep kubelet
輸出應返回類似於--config /etc/kubernetes/kubelet/kubelet-config.json的內容,這是 Kubelet 配置檔案的 位置資訊。 -
打開 Kubelet 配置檔案:
cat /etc/kubernetes/kubelet/kubelet-config.json
-
驗證
makeIPTablesUtilChains參數是否存在,若存在則設為true。如果--make-iptables-util-chains參數不存在,且有透過--config指定 Kubelet 配置檔,請確認該檔案未將makeIPTablesUtilChains設定為false。
如果使用 api configz 端點,請透過從執行 kubelet 的節點提取即時配置,搜尋
"makeIPTablesUtilChains":true 的狀態。設定本地 Proxy 通訊埠及以下變數,並提供 Proxy 通訊埠號碼及節點名稱:
HOSTNAME_PORT="localhost-and-port-number" NODE_NAME="The- Name-Of-Node-To-Extract-Configuration"
from the output of "kubectl get nodes"kubectl proxy --port=8001 &
export HOSTNAME_PORT=localhost:8001
export NODE_NAME=ip-192.168.31.226.aks.internal
curl -sSL "http://${HOSTNAME_PORT}/api/v1/nodes/${NODE_NAME}/proxy/configz"
補救
Remediation Method 1如果要修改 Kubelet 配置檔,請編輯
kubelet-config.json 檔案 /etc/kubernetes/kubelet/kubelet-config.json,並設定以下參數:"makeIPTablesUtilChains": trueRemediation Method 2
如果使用可執行參數,請在每個工作節點上編輯 kubelet 服務檔案
/etc/systemd/system/kubelet.service.d/10-kubelet-args.conf,並在 KUBELET_ARGS 變數字串的末尾添加以下參數:--make-iptables-util-chains:trueRemediation Method 3
如果使用 api configz 端點,請透過從執行 kubelet 的節點提取即時配置來搜尋
"makeIPTablesUtilChains": true 的狀態。在「重新配置即時叢集中的節點 Kubelet」中查看詳細的逐步 configmap 程序,然後重新執行來自審核過程的 curl 語句以檢查 kubelet
配置變更:kubectl proxy --port=8001 &
export HOSTNAME_PORT=localhost:8001
export NODE_NAME=ip-192.168.31.226.aks.internal
curl -sSL "http://${HOSTNAME_PORT}/api/v1/nodes/${NODE_NAME}/proxy/configz"
For all three remediations:根據您的系統,重新啟動 kubelet 服務並檢查狀態:
systemctl daemon-reload systemctl restart kubelet.service systemctl status kubelet -l
