跳至內容

如何增加 Amazon EKS 節點上的 nf_conntrack_max 配額?

1 分的閱讀內容
0

我想增加 Amazon Elastic Kubernetes Service (Amazon EKS) 節點上的 nf_conntrack_max 配額。

解決方法

檢查目前的 nf_conntrack_max 值

請完成以下步驟:

  1. 使用 SSH 或 Session Manager (AWS Systems 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)。例如,您在具有 2 個 CPU 核心的節點上,將 min 設定為 131072,並將 maxPerCore 設定為 32768nf_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 叢集的網路附加元件

Kubernetes 網站上的 kube-proxy

AWS Systems Manager Session Manager

AWS 官方已更新 5 個月前