You need to enable JavaScript to run this app.
文档中心
容器服务

容器服务

复制全文
下载 pdf
集群升级
如何处理 conntrack full 报错问题?
复制全文
下载 pdf
如何处理 conntrack full 报错问题?
问题原因​
内核日志(dmesg)中出现conntrack full的报错日志,说明 Linux 连接跟踪(Conntrack)数量已经达到conntrack_max数量限制。您需要提升 Conntrack 数量限制。​
解决方法​
  1. 登录到报错的目标节点。具体操作,请参见 ECS Terminal。​
  1. 执行以下命令,确认目前 Conntrack 中的各协议占用情况和数量。​
  • ​
    # 查看表明细,可以配合 grep 管道查看状态,也可以使用cat /proc/net/nf_conntrack查看​
    conntrack -L​
    ​
    # 查看计数​
    cat /proc/sys/net/netfilter/nf_conntrack_count​
    ​
    # 查看表当前最大值​
    cat /proc/sys/net/netfilter/nf_conntrack_max​
    ​
  • 如果出现大量 TCP 协议的占用,需要确认具体业务及其协议;如果是短连接型应用,建议整改成长连接型。​
  • 如果出现大量 DNS 的占用,建议在 VKE 集群中使用 NodeLocal DNSCache,以提升 DNS 性能、降低 Conntrack 占用。具体操作,请参见 使用 NodeLocal DNSCache 缓存代理。​
  • 如果 Conntrack 实际占用情况合理,或者您不希望对业务进行整改,您可以通过配置 kube-proxy 增加maxPerCore参数,调整连接跟踪数量限制。具体操作如下:​
  1. 在容器服务的左侧导航栏,选择 集群。​
  1. 在集群列表,单击目标集群名称。​
  1. 在集群管理页面的左侧导航栏,选择 配置管理 > 配置项。​
  1. 在 配置项 页面找到 kube-proxy 配置项,单击名称进入 配置项详情页。​
  1. 在 配置项详情页 右上角选择...>编辑 Yaml。​
  • ​​​
  1. 在 YAML 中增加maxPerCore参数,并保存 YAML 变更。​
  • ​
    apiVersion: v1​
    data:​
    config.conf: |-​
    apiVersion: kubeproxy.config.k8s.io/v1alpha1​
    bindAddress: 0.0.0.0​
    bindAddressHardFail: false​
    clientConnection:​
    acceptContentTypes: ""​
    burst: 10​
    contentType: application/vnd.kubernetes.protobuf​
    kubeconfig: /var/lib/kube-proxy/kubeconfig.conf​
    qps: 5​
    clusterCIDR: 172.30.112.0/21​
    configSyncPeriod: 15m0s​
    conntrack:​
    maxPerCore: 32768 # 默认值 32768,请根据业务情况设置为合理值。​
    min: 131072​
    tcpCloseWaitTimeout: 1h0m0s​
    tcpEstablishedTimeout: 24h0m0s​
    detectLocalMode: ""​
    enableProfiling: false​
    healthzBindAddress: 0.0.0.0:10256​
    hostnameOverride: ""​
    ......​
    ​
最近更新时间:2026.07.15 11:48:01
这个页面对您有帮助吗?
有用
有用
无用
无用