检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
域名DNS CCE集群内域名解析失败,如何定位处理? 为什么CCE集群的容器无法通过DNS解析? 为什么修改子网DNS配置后,无法解析租户区域名? 解析外部域名很慢或超时,如何优化配置? 如何设置容器内的DNS策略?
已配置存根域:如果配置了存根域和上游DNS服务器,DNS查询将基于下面的流程对请求进行路由: 查询首先被发送到coredns中的DNS缓存层。
为什么修改子网DNS配置后,无法解析租户区域名? 问题描述 用户集群子网DNS配置,增加了DNS服务器配置,如114.114.114.114,该域名无法解析租户区域名。
单击CoreDNS插件名称,查看插件实例列表。 单击CoreDNS实例的“监控”按钮,查看实例CPU、内存使用率。 如实例已达性能瓶颈,则需调整CoreDNS插件规格。 单击CoreDNS插件的“编辑”按钮,进入插件详情页。 在“规格配置”下配置CoreDNS参数规格。
在左侧导航栏中选择“配置与密钥”,在“kube-system”命名空间下,查看名为coredns的配置项数据,确认是否更新成功。
CoreDNS域名解析 插件介绍 CoreDNS是一款通过链式插件的方式给Kubernetes提供DNS解析服务的DNS服务器,为Kubernetes社区推荐的DNS服务器解决方案。
图1 某企业APP微服务示意图 本文介绍一种自建IDC与CCE集群共享域名解析的方案,可做到同时解析华为云域名和外部域名。
如果将dnsPolicy设置为“ClusterFirst”,则DNS查询将发送到kube-dns服务。 对于以配置的集群域后缀为根的域的查询将由kube-dns服务应答。所有其他查询(例如,www.kubernetes.io)将被转发到从节点继承的上游名称服务器。
可以运行另一个curl应用来进行测试,启用新的pod并通过进入容器内部curl当前这个service的域名,查看是否能正确解析域名。当然,有的场景下是无法curl通的,这与接下来的Dns的查找原理与配置有关。
场景二:解析外部域名超时 优化方案: 通常业务内的超时时间要大于timeout * attempts的时间。 如果解析此域名通常要超过2s,可以将timeout改大。 父主题: 域名DNS
Pod访问集群外部域名时,优先使用FQDN类型域名访问,这类域名通过常见域名最后加半角句号(.)的方式来指定地址,可以避免search搜索域拼接带来的多次无效搜索,例如需要访问www.huaweicoud.com,则优先使用FQDN类型域名www.huaweicoud.com.来访问
CoreDNS域名解析插件版本发布记录 表1 CoreDNS域名解析插件版本记录 插件版本 支持的集群版本 更新特性 社区版本 1.30.6 v1.21 v1.23 v1.25 v1.27 v1.28 v1.29 v1.30 支持Corefile配置 适配CCE v1.30集群 1.10.1
创建完成后,可在详情页中查看到DNS Endpoint的IP地址,如下图所示。 图2 DNS Endpoint的IP地址 在IDC的域名解析服务器上做级联配置。 此处配置跟具体域名解析服务器相关,不同域名解析服务器的配置方法不同,请根据实际情况配置。
自建IDC与CCE集群共享域名解析 自建IDC与CCE集群共享域名解析方案概述 通过DNS Endpoint做级联解析 修改CoreDNS配置直接解析 父主题: 网络
图1 域名解析失败排查思路 当遇到域名解析失败的问题时,首先需要判断是集群内域名还是集群外域名解析失败。 集群内域名: 确认coredns插件是否安装,coredns服务是否正常运行。
查看集群总览页,在右边“连接信息”下证书认证一栏,单击“下载”。 在弹出的“证书获取”窗口中,根据系统提示选择证书的过期时间并下载集群X509证书。 使用集群证书调用Kubernetes原生API。
本案例的子网中已经完成该设置,其中用户可以在该VPC子网内的节点(ECS)进行域名解析,也说明已完成该设置,如下图: 但是在容器内进行解析却提示bad address无法解析域名返回地址,如下图: 登录CCE控制台查看该集群的插件安装情况。
ndots(可选):该参数的含义是当域名的“.”个数小于ndots的值,会先把域名与search搜索域列表进行组合后进行DNS查询,如果均没有被正确解析,再以域名本身去进行DNS查询。
使用如下命令可以查看到默认配置的内容。
节点本地域名解析加速 插件介绍 节点本地域名解析加速(node-local-dns)是基于社区NodeLocal DNSCache提供的插件,通过在集群节点上作为守护程序集运行DNS缓存代理,提高集群DNS性能。