スキップしてコンテンツを表示

Amazon EKS ノードの nf_conntrack_max クォータを引き上げる方法を教えてください。

所要時間1分
0

Amazon Elastic Kubernetes Service (Amazon EKS) ノードの nf_conntrack_max クォータを引き上げたいと思っています。

解決策

現状の nf_conntrack_max 値を確認する

次の手順を実行します。

  1. SSH または AWS Systems Manager の機能である Session Manager を使用してワーカーノードに接続します。
  2. 次のコマンドを実行して、現在の nf_conntrack_max 値を取得します。
    cat /proc/sys/net/netfilter/nf_conntrack_max

kube-proxy ConfigMap を変更する

次の手順を実行します。

  1. 次のコマンドを実行して kube-proxy-config ConfigMap を編集します。

    kubectl edit configmap kube-proxy-config -n kube-system
  2. conntrack 内で、min 値を増やしてください。

    conntrack:
      maxPerCore: 32768
      min: 131072

    注: 例の値を実際の値に置き換えてください。nf_conntrack_max 値は max(min, maxPerCore * number_of_CPU_cores) として計算されます。例えば、CPU コアが 2 つあるノードで、min131072 に、maxPerCore32768 に設定したとします。この場合、nf_conntrack_max 値は 131072 になります。これは 131072 が 32768 に 2 を掛けた値よりも大きいためです。

  3. 変更を保存し、エディタを閉じます。

kube-proxy DaemonSet を再起動する

ConfigMap を変更したら、次のコマンドを実行して kube-proxy DaemonSet を再起動して変更を適用します。

kubectl rollout restart daemonset kube-proxy -n kube-system

nf_conntrack_max の値が更新されていることを確認する

重要: nf_conntrack_max を増やすと、ノードのメモリ使用量が増加します。各接続追跡エントリは約 300 バイトのメモリを使用します。十分なメモリを割り当てるようにしてください。

次の手順を実行します。

  1. SSH または Session Manager を使用してワーカーノードに接続します。
  2. 次のコマンドを実行して、nf_conntrack_max 値が更新されていることを確認します。
    cat /proc/sys/net/netfilter/nf_conntrack_max

関連情報

Kubernetes kube-proxy セルフマネージドアドオンの更新

Amazon EKS クラスターのネットワーキングアドオンを管理する

kube-proxy (Kubernetes ウェブサイト)

AWS Systems Manager Session Manager

AWS公式更新しました 5ヶ月前