更新时间:2024-05-10 GMT+08:00

调整CoreDNS部署状态

CCE集群默认安装CoreDNS插件,CoreDNS应用默认情况下与您的业务容器运行在同样的集群节点上,部署时的注意事项如下:

合理调整CoreDNS副本数

建议您在任何情况下设置CoreDNS副本数应至少为2,且副本数维持在一个合适的水位以承载整个集群的解析。CCE集群安装CoreDNS插件的默认实例数为2。

  • CoreDNS使用资源的规格与解析能力相关,修改CoreDNS副本数量、CPU/内存的大小会对影响解析性能,请经过评估后再做修改。
  • CoreDNS插件默认配置了podAntiAffinity(Pod反亲和),当一个节点已有一个CoreDNS Pod时无法再添加新的Pod,即一个节点上只能运行一个CoreDNS Pod。如果您配置的CoreDNS副本数量大于集群节点数量,会导致多出的Pod无法调度。建议Pod的副本数量不大于节点的数量。

合理分配CoreDNS所在位置

  • 建议您在部署CoreDNS副本时,应将CoreDNS副本打散在不同可用区、不同集群节点上,避免单节点、单可用区故障。CoreDNS插件默认配置了podAntiAffinity(Pod反亲和),可能会因为节点资源不足导致部分或全部副本部署在同一节点上,如果遇到这种情况,请删除Pod重新触发其调度来调整。
  • CoreDNS所运行的集群节点应避免CPU、内存用满的情况,否则会影响域名解析的QPS和响应延迟。

手动扩容副本数

您可以调用修改CoreDNS插件接口修改插件的规格,根据需求修改其中replicas(副本数量),具体操作请参见自定义CoreDNS规格

基于HPA自动扩容CoreDNS

由于HPA会频繁触发CoreDNS副本缩容,建议不要使用容器水平扩缩容(HPA)。如果您的场景下必须依赖于HPA,建议您通过“CCE容器弹性引擎”插件配置HPA自动扩容策略,流程如下:

  1. 登录CCE控制台,进入集群,单击左侧导航栏的“插件中心”,在右侧找到CCE容器弹性引擎,单击“安装”。
  2. 配置插件规格后单击“安装”,插件详细说明请参考CCE容器弹性引擎
  3. 在CCE控制台单击左侧导航栏的“工作负载”,命名空间选择“kube-system”,找到CoreDNS实例,单击操作栏中的“弹性伸缩”。

    在“HPA策略”中,您可以根据业务需求,通过CPU利用率、内存利用率等指标自定义HPA策略以自动扩容CoreDNS。

  4. 单击“创建”,当最新状态为“已启动”时,代表HPA自动扩容CoreDNS策略生效。