云容器引擎 CCE-合理配置CoreDNS:配置Forward插件与上游DNS服务的默认协议
配置Forward插件与上游DNS服务的默认协议
- NodeLocal DNSCache采用TCP协议与CoreDNS进行通信,CoreDNS会根据请求来源使用的协议与上游DNS服务器进行通信。因此默认情况下,来自业务容器的集群外部域名解析请求会依次经过NodeLocal DNSCache、CoreDNS,最终以TCP协议请求VPC内DNS服务器。
- VPC内DNS服务器对TCP协议支持有限,如果您使用了NodeLocal DNSCache,您需要修改CoreDNS配置,让其总是优先采用UDP协议与上游DNS服务器进行通信,避免解析异常。建议您使用以下方式修改CoreDNS配置文件。
在forward插件用于设置 upstream Nameservers 上游 DNS 服务器。包含以下参数:
prefer_udp:即使请求通过TCP传入,也要首先尝试使用UDP。
若您希望CoreDNS会优先使用UDP协议与上游通信,则forward中指定请求上游的协议为prefer_udp,forward插件的详细信息请参考https://coredns.io/plugins/forward/。
- 登录CCE控制台,单击集群名称进入集群。
- 在左侧导航栏中选择“插件中心”,在CoreDNS下单击“编辑”,进入插件详情页。
- 在“参数配置”下编辑高级配置,在plugins字段修改以下内容。
{ "configBlock": "prefer_udp", "name": "forward", "parameters": ". /etc/resolv.conf" }