Kubelet の iptables 補助チェーン設定の確認

ノードのネットワーク構成に必要な kubelet の iptables 補助チェーン設定を確認してください。

説明

--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 が完成するわけではありません。

参考資料