説明
--make-iptables-util-chains=false は kubelet による iptables 補助チェーンの管理を無効にします。そのチェーンに依存するネットワーク構成要素がある場合、接続に影響するおそれがあります。
管理対象は Kubernetes のバージョンによって異なります。現在の KubeletConfiguration リファレンスでは、makeIPTablesUtilChains はほかの構成要素に iptables の構成を伝える KUBE-IPTABLES-HINT チェーンの作成設定として説明されています。ネットワークプラグインとファイアウォールポリシーは別途確認してください。
想定される影響
- 必要な補助チェーンがなくなると、依存する構成要素の動作に影響する場合があります。
- ノード間のネットワーク動作の違いが運用上の問題につながるおそれがあります。
対処方法
- ノードのバージョンとネットワークプラグインの要件を確認し、必要な環境では
makeIPTablesUtilChains: trueを維持してください。 - 従来のコマンドライン設定では
--make-iptables-util-chains=trueに相当します。実際の設定と起動引数を併せて確認してください。 - 変更後に、必要な通信が機能し、不要なアクセスが拒否されることを確認してください。
例
コマンド引数を比較する抜粋です。foo/bar は仮のイメージであり、この Pod をデプロイしてもノードの kubelet は再設定されません。実際のノードのバージョンに対応する設定方法で適用してください。
変更前
yaml
apiVersion: v1
kind: Pod
metadata:
name: command-demo
spec:
containers:
- name: command-demo-container
image: foo/bar
command: ["kubelet"]
args: ["--make-iptables-util-chains=false"]
変更後
yaml
apiVersion: v1
kind: Pod
metadata:
name: command-demo
spec:
containers:
- name: command-demo-container
image: foo/bar
command: ["kubelet"]
args: ["--make-iptables-util-chains=true"]
補足:
- 変更前: 補助チェーンの管理を無効にします。実際の影響はノードのバージョンとネットワーク構成によって異なります。
- 変更後: 補助チェーンの管理を有効にします。この設定だけでファイアウォールや NetworkPolicy が完成するわけではありません。