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

容器服务

复制全文
下载 pdf
工作负载 FAQ
如何更新 CoreDNS 副本数和资源配额?
复制全文
下载 pdf
如何更新 CoreDNS 副本数和资源配额?
问题描述​
在 VKE 集群中,默认安装了 CoreDNS 作为集群域名解析服务。当集群节点数量较多、DNS 查询压力较大时,需要调整 CoreDNS 的副本数,或者调整 CoreDNS 的 CPU/内存资源限制(limits)或请求(limits),本文介绍具体的操作方法。​
原因分析​
​
场景​
需要调整的原因​
调整副本数​
集群节点数量较多,单个 CoreDNS 实例无法承受 DNS 查询压力,出现性能瓶颈。​
调整资源限制​
默认资源配置无法满足当前集群 DNS 查询负载,出现 OOM 或者 CPU 资源不足。​
​
解决方法​
VKE 中 CoreDNS 作为系统组件部署在 kube-system 命名空间下,类型为 Deployment,可以直接通过修改 Deployment 配置来调整副本数和资源限制。​
方法一:通过控制台操作(推荐)​
  1. 登录 容器服务控制台,选择目标集群。​
  1. 在左侧导航栏选择 工作负载 > 无状态负载。​
  1. 选择 kube-system 命名空间并搜索 coredns,在右侧 操作 列下单击...> 更新。​
  1. 在 更新无状态负载 页面中,修改以下参数。更多说明,请参见 工作负载配置。​
  • 基本信息​
  • 实例个数:调整实例个数为您需要的数值。​
  • 容器配置​
  • 资源配额:按需修改 CPU/内存的请求和上限。​
  1. 确认配置无误后,单击 确定 保存变更。​
  • 变更完成后,系统会自动滚动更新对应点的 CoreDNS Pod。您可以在无状态负载详情页面 实例列表 页签,查看 Pod 状态,状态为 Running 表示配置变更生效。​
方法二:通过 kubectl 命令操作​
如果您习惯使用命令行,可以通过以下步骤操作:​
  1. 通过 kubectl 连接集群。详细操作,请参见 连接集群。​
  1. 查看当前集群内 CoreDNS 配置。​
  • ​
    # 查看当前 CoreDNS 副本数​
    kubectl get deployment -n kube-system coredns​
    ​
    # 查看当前资源配置​
    kubectl get deployment -n kube-system coredns -o yaml | grep -A 10 resources​
    ​
  1. 修改 CoreDNS 配置。​
  • 修改 CoreDNS 副本数:​
  • ​
    # 直接修改副本数为 2(根据实际需求调整)​
    kubectl scale deployment coredns -n kube-system --replicas=2​
    ​
  • 修改 CoreDNS requests/limits:​
  • ​
    通过 edit 命令直接编辑(推荐)
    通过 patch 命令直接更新
    ​
    1. 执行如下命令编辑 CoreDNS 配置。​
    • ​
      kubectl edit deployment coredns -n kube-system​
      ​
    1. 在打开编辑器中,找到spec.template.spec.containers[0].resources部分,修改limits的值。​
    • ​
      resources:​
      requests:​
      cpu: 100m​
      memory: 128Mi​
      limits:​
      cpu: 250m # 修改为您需要的值。​
      memory: 256Mi # 修改为您需要的值。​
      ​
    ​
  1. 验证变更。​
  • ​
    # 查看副本数是否已更新。​
    kubectl get pods -n kube-system -l k8s-app=kube-dns​
    ​
    # 查看资源配置是否已更新。​
    kubectl get pod -n kube-system -l k8s-app=kube-dns -o jsonpath='{.items[0].spec.containers[0].resources}' && echo​
    ​
推荐配置参考​
根据集群节点数量,推荐的 CoreDNS 配置如下:​
注意​
以下推荐值仅供参考,请根据实际 DNS 查询压力自行调整。如果集群启用了 node-local-dns 组件,CoreDNS 的压力会大大降低,可以适当减少副本数,相关操作,请参见 如何确认使用了 node-local-dns 组件、使用 NodeLocal DNSCache 缓存代理。​
​
集群节点数量​
推荐副本数​
推荐 limits​
1~10 个节点​
2 副本​
  • CPU:250 毫核​
  • 内存:256 MiB​
10~50 个节点​
4 副本​
  • CPU:500 毫核​
  • 内存:512 MiB​
50~100 个节点​
6~8 副本​
  • CPU:1 核​
  • 内存:1 GiB​
100+ 个节点​
8+ 副本​
  • CPU:2+ 核​
  • 内存:2+ GiB​
​
​
最近更新时间:2026.04.14 16:51:05
这个页面对您有帮助吗?
有用
有用
无用
无用