跳至内容

如何增加 Amazon EKS 节点上的 nf_conntrack_max 配额?

1 分钟阅读
0

我想增加 Amazon Elastic Kubernetes Service (Amazon EKS) 节点上的 nf_conntrack_max 配额。

解决方法

检查当前 nf_conntrack_max 的值

完成以下步骤:

  1. 使用 SSH 或会话管理器(AWS Systems Manager 的一项功能)连接到您的 Worker 节点。
  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 设置为 32768。由于 131072 大于 32768 乘以 2 的值,因此 nf_conntrack_max 的值为 131072。

  3. 保存您的更改,然后关闭编辑器。

重新启动 kube-proxy 进程守护程序

修改 ConfigMap 后,运行以下命令重新启动 kube-proxy 进程守护程序以应用此更改:

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

验证 nf_conntrack_max 的值是否已更新

**重要事项:**当您增加 nf_conntrack_max 时,节点内存使用量会增加。每个连接跟踪条目大约占用 300 字节的内存。确保您已分配足够的内存。

完成以下步骤:

  1. 使用 SSH 或会话管理器连接到您的 Worker 节点。
  2. 运行以下命令确认 nf_conntrack_max 值已更新:
    cat /proc/sys/net/netfilter/nf_conntrack_max

相关信息

更新 Kubernetes kube-proxy 自行管理的附加组件

管理 Amazon EKS 集群的联网附加组件

Kubernetes 网站上的 kube-proxy

AWS Systems Manager 会话管理器

AWS 官方已更新 4 个月前