云容器引擎 CCE-使用NodeLocal DNSCache提升DNS性能:插件安装

时间:2023-12-06 15:24:56

插件安装

CCE提供了节点本地域名解析加速插件,可以方便的安装NodeLocal DNSCache。

NodeLocal DNSCache不提供Hosts、Rewrite等插件能力,仅作为CoreDNS的透明缓存代理。如有需要,可在CoreDNS配置中修改。

  1. (可选)修改CoreDNS配置,让CoreDNS优先采用UDP协议与上游DNS服务器通信。

    NodeLocal DNSCache采用TCP协议与CoreDNS进行通信,CoreDNS会根据请求来源使用的协议与上游DNS服务器进行通信。当使用了NodeLocal DNSCache时,访问上游DNS服务器时会使用TCP协议,而云上DNS服务器对TCP协议支持有限,如果您使用了NodeLocal DNSCache,您需要修改CoreDNS配置,让其总是优先采用UDP协议与上游DNS服务器进行通信,避免解析异常。

    执行如下步骤,在forward插件中指定请求上游的协议为perfer_udp,修改之后CoreDNS会优先使用UDP协议与上游通信。

    1. 登录CCE控制台,单击集群名称进入集群。
    2. 在左侧导航栏中选择“插件中心”,在“已安装插件”下,在CoreDNS下单击“编辑”,进入插件详情页。
    3. “参数配置”下编辑高级配置,在plugins字段修改以下内容。
      {
          "configBlock": "prefer_udp",
          "name": "forward",
          "parameters": ". /etc/resolv.conf"
      }

  2. 登录CCE控制台,单击集群名称进入集群,在左侧导航栏中选择“插件中心”,在右侧找到节点本地域名解析加速插件,单击“安装”
  3. 在安装插件页面,选择插件规格,并配置相关参数。

    • DNSConfig自动注入:启用后,会创建DNSConfig动态注入控制器,该控制器基于Admission Webhook机制拦截目标命名空间(即命名空间包含标签node-localdns-injection=enabled)下Pod的创建请求,自动配置使用DNS缓存的Pod dnsConfig字段。未开启DNSConfig自动注入或Pod属于非目标命名空间,则需要手动给Pod配置DNSConfig。
    • 目标命名空间:启用DNSConfig自动注入时支持设置。仅1.3.0及以上版本的插件支持。
      • 全部开启:CCE会为已创建的命名空间添加标签(node-local-dns-injection=enabled),同时会识别命名空间的创建请求并自动添加标签,这些操作的目标不包含系统内置的命名空间(如kube-system)。
      • 手动配置:手动为需要注入DNSConfig的命名空间添加标签(node-local-dns-injection=enabled),操作步骤请参见管理命名空间标签

  4. 完成以上配置后,单击“安装”
support.huaweicloud.com/usermanual-cce/cce_10_0362.html