检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
CoreDNS配置优化实践 CoreDNS配置优化概述 客户端 服务端 父主题: 网络
NodeLocal DNSCache、CoreDNS,最终以TCP协议请求VPC内DNS服务器。 VPC内DNS服务器对TCP协议支持有限,如果您使用了NodeLocal DNSCache,您需要修改CoreDNS配置,让其总是优先采用UDP协议与上游DNS服务器进行通信,避免解
调整CoreDNS部署状态 CCE集群默认安装CoreDNS插件,CoreDNS应用默认情况下与您的业务容器运行在同样的集群节点上,部署时的注意事项如下: 合理调整CoreDNS副本数 合理分配CoreDNS所在位置 使用自定义参数完成CoreDNS隔离部署 基于HPA自动扩容CoreDNS
并发请求/etc/resolve.conf中配置的多个DNS服务器,导致NodeLocal DNSCache的优化失效。 并发使用同一Socket请求A和AAAA记录,在旧版本内核上触发Conntrack源端口冲突导致丢包问题。 当使用Alpine作为容器基础镜像出现域名无法正常解析的情况下,建议更新容器基础镜像进行测试。
CoreDNS官网:https://coredns.io/ 开源社区地址:https://github.com/coredns/coredns DNS详细使用方法请参见DNS。 约束与限制 CoreDNS域名解析插件正常运行或升级时,请确保集群中的可用节点数大于等于插件的实例
及时升级集群中的CoreDNS版本 CoreDNS功能较为单一,对不同的Kubernetes版本也实现了较好的兼容性,CCE会定期同步社区bug,升级CoreDNS插件的版本,建议客户定期升级集群的CoreDNS版本。CCE的插件管理中心提供了CoreDNS的安装及升级功能。您可以
节点DNS检查异常处理 检查项内容 当前检查项包括以下内容: 检查当前节点DNS配置是否能正常解析OBS地址 检查当前节点是否能访问存储升级组件包的OBS地址 解决方案 节点升级过程中,需要从OBS拉取升级组件包。此项检查失败,请联系技术人员支持。 父主题: 升级前检查异常问题排查
谨慎调整VPC和虚拟机的DNS配置 CoreDNS启动时会默认从部署的实例上获取resolve.conf中的DNS配置,作为上游的解析服务器地址,并且在CoreDNS重启之前不会再重新加载节点上的resolve.conf配置。建议: 保持集群中各个节点的resolve.conf配
服务端 监控CoreDNS运行状态 调整CoreDNS部署状态 合理配置CoreDNS 父主题: CoreDNS配置优化实践
自建IDC与CCE集群共享域名解析 自建IDC与CCE集群共享域名解析方案概述 通过DNS Endpoint做级联解析 修改CoreDNS配置直接解析 父主题: 网络
点及容器在域名解析时,通过IDC的域名解析服务器进行解析。 如果是需要解析华为云内域名,则转发给DNS Endpoint,使用华为云DNS解析出地址并返回。 如果是需要解析IDC域名,则直接通过IDC的域名解析服务器直接解析出地址并返回。 图2 节点同时访问华为云域名和外部域名
节点本地域名解析加速 插件介绍 节点本地域名解析加速(node-local-dns)是基于社区NodeLocal DNSCache提供的插件,通过在集群节点上作为守护程序集运行DNS缓存代理,提高集群DNS性能。 字段说明 表1 参数描述 参数 是否必选 参数类型 描述 basic
求集群CoreDNS进行解析。 ③:对于非集群内的域名,CoreDNS会通过VPC的DNS服务器进行解析。 ④:已注入DNS本地缓存的Pod,如果无法连通NodeLocal DNSCache,则会直接通过CoreDNS解析域名。 ⑤:未注入DNS本地缓存的Pod,默认会通过CoreDNS解析域名。
解析外部域名很慢或超时,如何优化配置? 工作负载的容器内的resolv.conf文件,示例如下: 其中: nameserver:DNS服务器的IP地址,此处为coredns的ClusterIP。 search:域名的搜索列表,此处为Kubernetes的常用后缀。 ndots:“.”的个数
EulerOS 1.1操作系统则存在此问题。 解决方法 考虑采用NodeLocal DNSCache缓存方案,可以容忍IPVS丢包,具体操作请参见使用NodeLocal DNSCache提升DNS性能。 使用不受影响的操作系统,如Huawei Cloud EulerOS 2.0、Ubuntu
com.来访问。 使用本地域名缓存 集群规格较大,DNS解析请求量大的情况下可以考虑在节点上缓存DNS解析的结果,推荐使用节点DNS缓存NodeLocal DNSCache,具体使用请参考使用NodeLocal DNSCache提升DNS性能。 父主题: 客户端
oreDNS域名解析。 单击“确定”,等待插件升级完毕,检查CoreDNS各实例均可用,且Corefile符合预期。 kubectl get cm -nkube-system coredns -o jsonpath='{.data.Corefile}' 编辑CoreDNS插件配置
集群外域名: 确定是否为自建DNS(容器如果未走coredns或者节点DNS非本region云解析的地址均属自建) coredns到自建DNS网络是否正常,工作负载到自建DNS的网络是否正常,如不正常: 请打通到自建DNS网络 请确保DNS的UDP53端口放行,需要对Pod网段安全组&ACL放通如下策略:
you can run your own copy of dnsmasq to export custom DNS names into the ClusterDNS namespace, a JSON map using a DNS suffix key (e.g. “acme.local”)
获取VPC内网访问IP及域名(华为云VPC内默认会自动加域名解析规则,不需要配置hosts;非华为云节点需要配置hosts),可以在终端节点详情页的“内网域名”中查询。 Harbor上配置镜像仓库。 Harbor在1.10.5以上版本,集成了华为云的SWR对接,只需要在目标(EN