全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

CoreDNS配置建议

最近更新时间:2024-09-10 16:07:52

本文主要介绍KCE中CoreDNS默认配置,以及针对集群实际用量情况的配置建议。

KCE中CoreDNS服务部署

KCE中CoreDNS默认以Deployment类型,三副本方式部署。按照默认调度配置,独立部署集群中将调度到master节点,托管集群中将调度到node节点,且调度到不同节点上。

可通过如下方式查询CoreDNS服务状态:

[root@vm10-0-10-95 ~]# kubectl get deploy -n kube-system | grep coredns
coredns                       3/3     3            3           300d

创建于2023/11/29之后的集群需注意:
对于独立部署集群,如果给master打上自定义污点,需要同步为CoreDNS配置污点容忍,否则可能导致CoreDNS重建时无法调度;
对于托管集群,如果给node打上自定义污点,请通过增加节点或为CoreDNS配置污点容忍,确保CoreDNS可调度。

KCE中CoreDNS默认资源配置如下,其中内存用量主要受集群内pod和service数量影响,cpu用量受qps影响。此外使用不同插件的资源用量可能不同,建议您在运行过程中观察内存、cpu用量及qps能力。

        resources:
          limits:
            memory: "2Gi"
          requests:
            cpu: "100m"
            memory: "70Mi"

合理配置CoreDNS副本数

KCE中CoreDNS默认副本数为3,且配置了 podAntiAffinity 使副本分布在不同节点。针对集群实际用量,您可参考以下建议调整CoreDNS副本数:

1. 在标准配置下,CoreDNS每个实例每秒可以处理超过10000次查询。根据业务需求,您可以按照副本数与QPS之间1:10000的比例来调整。例如当QPS为35000时,CoreDNS副本数应该调整为4。

2. 如果无法预估QPS,建议您监控CoreDNS在高峰时段的CPU使用情况。如果观察到CPU使用率在业务高峰期间超过一核资源,那么增加副本数量将有助于缓解查询压力。

3. 作为一种保守的策略,您也可以按照副本数与集群节点数之间1:8的比例进行调整。例如当集群节点数为20,CoreDNS副本数应该调整为3。

建议CoreDNS副本数不超过10,当节点数量超过100时,推荐使用NodeLocal DNSCache,KCE中可参考使用NodeLocal DNSCache

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈