
# 节点本地域名解析加速（NodeLocal DNSCache）
#### 插件简介
节点本地域名解析加速（NodeLocal DNSCache）是基于社区NodeLocal DNSCache提供的插件，通过在集群节点上作为守护程序集运行DNS缓存代理，提高集群DNS性能。
启用NodeLocal DNSCache之后，DNS查询所遵循的路径如下图所示。
图1NodeLocal DNSCache查询路径   
![](https://support.huaweicloud.com/usermanual-standard-modelarts/figure/zh-cn_image_0000002225829724.png "点击放大")
其中解析线路说明如下：
- ①：已注入DNS本地缓存的Pod，默认会通过NodeLocal DNSCache解析请求域名。
- ②：NodeLocal DNSCache本地缓存如果无法解析请求，则会请求集群CoreDNS进行解析。
- ③：对于非集群内的域名，CoreDNS会通过VPC的DNS服务器进行解析。
- ④：已注入DNS本地缓存的Pod，如果无法连通NodeLocal DNSCache，则会直接通过CoreDNS解析域名。
- ⑤：未注入DNS本地缓存的Pod，默认会通过CoreDNS解析域名。
 
#### 约束与限制
- 支持在ModelArts专属资源池安装NodeLocal DNSCache。
- 支持CCE版本：v1.25-v1.33。
 
#### 安装插件
在资源池中安装指定插件。
1. 登录[ModelArts管理控制台](https://console.huaweicloud.com/modelarts/)，在左侧菜单栏中选择"资源管理 \> 专属算力资源 \> 资源池"。
2. 单击资源池名称，进入资源池详情页。
3. 在资源池详情页，切换到"插件"页签。
4. 在未安装插件列表中，选择待安装的插件，单击"安装"。
   图2安装插件   
   ![](https://support.huaweicloud.com/usermanual-standard-modelarts/figure/zh-cn_image_0000002225980148.png "点击放大") 
5. 在"安装插件"弹框中，配置相关参数，参数说明如下。
    表1节点本地域名解析加速配置参数说明 
   | 参数   | 子参数           | 说明                                                                                                                                                                                                                                                                                                                                                                                     |
   |:---|:---|:---|
   | 规格配置 | 插件版本          | 指定部署的 NodeLocal DNSCache 插件版本。支持版本1.6.64。                                                                                                                                                                                                                                                                                                                                              |
   | 规格配置 | 插件规格          | **预置规格** ：高可用规格（负责DNSConfig自动注入的控制器双副本部署，提升插件可靠性）、单实例规格（负责DNSConfig自动注入的控制器单副本部署，资源消耗低）。两种预置规格的配置不同，具体可参见预置规格对应的**配置清单**。 **自定义规格**：指定部署 NodeLocal DNSCache 时的部署配置（副本数、CPU申请配额/限制配额、内存申请配额/限制配额）。 说明： 建议将CPU限制配额设置为超过5000m，以有效预防过载事件的发生。 |
   | 规格配置 | 配置清单          | 指定 NodeLocal DNSCache 插件的各项具体配置参数。 选择自定义规格时，可指定副本数、CPU申请配额/限制配额、内存申请配额/限制配额。                                                                                                                                                                                                                                                            |
   | 参数配置 | DNSConfig自动注入 | 开启后，基于Admission Webhook机制，拦截目标命名空间Pod创建的请求，自动注入使用DNS缓存的Pod DNSConfig信息。 默认开启全部命名空间 DNSConfig 自动注入，即自动添加标签 node-local-dns-injection=enabled （包含存量命名空间，不含系统内置的命名空间）。当Pod中存在DNS配置时，优先使用Pod的DNS配置。 关闭后，所有命名空间Pod创建时不再自动注入DNSConfig，已注入的Pod DNSConfig不受影响。                                  |
   | 参数配置 | 域名解析服务器地址(可选） | 容器解析域名时查询的DNS服务器的IP地址列表。开启"DNSConfig自动注入"后需要配置此参数。默认会添加NodeLocal DNSCache的地址，以及CoreDNS的地址，允许用户额外追加1个地址，重复的IP地址将被删除。                                                                                                                                                                                                                                                                    |
   | 参数配置 | 搜索域(可选)       | Pod中主机名查找的DNS搜索域列表。开启"DNSConfig自动注入"后需要配置此参数。此参数配置是可选的。指定后，提供的列表将合并到从所选DNS策略生成的基本搜索域名中，并删除重复的域名。Kubernetes最多允许3个搜索域。                                                                                                                                                                                                                                                                   |
   | 参数配置 | ndots(可选)     | 开启"DNSConfig自动注入"后需要配置此参数。 该参数的含义是当域名的"."个数小于ndots的值，会先把域名与search搜索域列表进行组合后进行DNS查询，如果均没有被正确解析，再以域名本身去进行DNS查询。当域名的"."个数大于或者等于ndots的值，会先对域名本身进行DNS查询，如果没有被正确解析，再把域名与search搜索域列表依次进行组合后进行DNS查询。                                                                                                                                             |
      
   
6. 阅读使用说明，勾选"我已阅读并知晓上述使用说明"。
7. 单击"确定"。
 
#### 组件说明
表2节点本地域名解析加速组件说明 
| 容器组件                                | 说明                     | 资源类型       |
|:---|:---|:---|
| node-local-dns-admission-controller | 提供自动注入DNSConfig功能。     | Deployment |
| node-local-dns-cache                | 作为节点上DNS缓存代理提高集群DNS性能。 | DaemonSet  |
   
#### 插件相关操作
请见[在资源池详情页查看专属资源池插件](https://support.huaweicloud.com/usermanual-standard-modelarts/resmgmt-modelarts_0065.html#ZH-CN_TOPIC_0000002251199197__section15181198173716)。
#### 版本记录
表3节点本地域名解析加速版本记录 
| 插件版本   | 更新特性                                                                         |
|:---|:---|
| 1.7.62 | 支持CCE 1.33集群。                                                                |
| 1.6.66 | 支持CCE 1.31集群；更新admission-controller组件日志输出为容器标准输出；node-local-dns支持自定义健康检查端口   |
| 1.6.64 | 支持CCE 1.31集群; 更新admission-controller组件日志输出为容器标准输出; node-local-dns支持自定义健康检查端口 |
| 1.6.63 | 支持CCE 1.31集群; 更新admission-controller组件日志输出为容器标准输出; node-local-dns支持自定义健康检查端口 |
| 1.6.62 | 支持CCE 1.31集群；更新admission-controller组件日志输出为容器标准输出；node-local-dns支持自定义健康检查端口   |
   
