节点本地域名解析加速(NodeLocal DNSCache)
插件简介
节点本地域名解析加速(NodeLocal DNSCache)是基于社区NodeLocal DNSCache提供的插件,通过在集群节点上作为守护程序集运行DNS缓存代理,提高集群DNS性能。
启用NodeLocal DNSCache之后,DNS查询所遵循的路径如下图所示。

- ①:已注入DNS本地缓存的Pod,默认会通过NodeLocal DNSCache解析请求域名。
- ②:NodeLocal DNSCache本地缓存如果无法解析请求,则会请求集群CoreDNS进行解析。
- ③:对于非集群内的域名,CoreDNS会通过VPC的DNS服务器进行解析。
- ④:已注入DNS本地缓存的Pod,如果无法连通NodeLocal DNSCache,则会直接通过CoreDNS解析域名。
- ⑤:未注入DNS本地缓存的Pod,默认会通过CoreDNS解析域名。
约束与限制
- 支持在ModelArts Standard专属资源池安装NodeLocal DNSCache。
- 支持CCE版本:v1.25-v1.31。
安装插件
在资源池中安装指定插件。
- 登录ModelArts管理控制台,在左侧菜单栏中选择“资源管理 > 标准算力集群 (Standard Cluster)”。
- 单击资源池名称,进入资源池详情页。
- 在资源池详情页,切换到“插件”页签。
- 在未安装插件列表中,选择待安装的插件,单击“安装”。
图2 安装插件
- 在“安装插件”弹框中,配置相关参数,参数说明如下。
表1 节点本地域名解析加速配置参数说明 参数
子参数
说明
规格配置
插件版本
指定部署的 NodeLocal DNSCache 插件版本。支持版本1.6.64。
插件规格
预置规格:高可用规格(负责DNSConfig自动注入的控制器双副本部署,提升插件可靠性)、单实例规格(负责DNSConfig自动注入的控制器单副本部署,资源消耗低)。两种预置规格的配置不同,具体可参见预置规格对应的配置清单。
自定义规格:指定部署 NodeLocal DNSCache 时的部署配置(副本数、CPU申请配额/限制配额、内存申请配额/限制配额)。
配置清单
指定 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查询。
- 阅读使用说明,勾选“我已阅读并知晓上述使用说明”。
- 单击“确定”。
组件说明
容器组件 |
说明 |
资源类型 |
---|---|---|
node-local-dns-admission-controller |
提供自动注入DNSConfig功能。 |
Deployment |
node-local-dns-cache |
作为节点上DNS缓存代理提高集群DNS性能。 |
DaemonSet |
插件相关操作
请见插件相关操作。
版本记录
插件版本 |
更新特性 |
---|---|
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支持自定义健康检查端口 |