检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
NS容易出现解析超时、解析失败等现象,极端场景下甚至会引起集群内业务大面积解析失败。本文介绍Kubernetes集群中CoreDNS配置优化的最佳实践,帮助您避免此类问题。 解决方案 CoreDNS配置优化包含客户端优化及服务端优化。 在客户端,您可以通过优化域名解析请求来降低解
即继承Pod所在节点域名解析配置,并在此基础上追加自定义的域名解析配置。容器的域名解析文件使用kubelet的“--resolv-conf”参数指向的域名解析文件(CCE集群在该配置下对接云上DNS),没有配置search搜索域列表和options。该配置只能解析注册到互联网上的外部
域名DNS CCE集群内域名解析失败,如何定位处理? 为什么CCE集群的容器无法通过DNS解析? 为什么修改子网DNS配置后,无法解析租户区域名? 解析外部域名很慢或超时,如何优化配置? 如何设置容器内的DNS策略?
io)将被转发到从节点继承的上游名称服务器。在此功能之前,通常通过使用自定义解析程序替换上游DNS来引入存根域。但是,这导致自定义解析程序本身成为DNS解析的关键路径,其中可伸缩性和可用性问题可能导致集群丢失DNS功能。此特性允许用户在不接管整个解析路径的情况下引入自定义解析。 如果某个工作负载不需要使用集群内的c
CoreDNS视图 提供了负载域名解析的CoreDNS监控视图,包含请求、响应情况,以及缓存状况。 指标说明 CoreDNS视图暴露的指标如下: 图1 CoreDNS视图指标 表1 CoreDNS指标说明 指标名称 单位 说明 请求速率 个/秒 CoreDNS每秒请求个数 请求速率(记录类型)
集群网络模型选择及各模型区别 CCE集群实现访问跨VPC网络通信 使用VPC和云专线实现容器与IDC之间的网络通信 自建IDC与CCE集群共享域名解析 通过负载均衡配置实现会话保持 不同场景下容器内获取客户端源IP 通过配置容器内核参数增大监听队列长度 为负载均衡类型的Service配置pass-through能力
监控CoreDNS运行状态 CoreDNS通过标准的Promethues接口暴露出解析结果等健康指标,发现CoreDNS服务端甚至上游DNS服务器的异常。 CoreDNS自身metrics数据接口,默认zone侦听{$POD_IP}:9153,请保持此默认值,否则普罗无法采集coredns
CoreDNS工作负载运行正常。如果是其他IP地址,则表示采用云上DNS或者用户自建的DNS,请您自行确保解析正常。 更多域名解析异常的排查思路,请参见CCE集群中域名解析失败。 父主题: 网络异常问题排查
节点,离线作业优先调度到超卖节点。 在线作业预选超卖节点时只能使用其非超卖资源 在线作业只能使用超卖节点的非超卖资源,离线作业可以使用超卖节点的超卖及非超卖资源。 同一调度周期在线作业先于离线作业调度 在线作业和离线作业同时存在时,优先调度在线作业。当节点资源使用率超过设定的驱逐
获取集群访问的地址 功能介绍 该API用于通过集群ID获取集群访问的地址,包括PrivateIP(HA集群返回VIP)与PublicIP 集群管理的URL格式为:https://Endpoint/uri。其中uri为资源路径,也即API访问的路径。 调用方法 请参见如何调用API。
节点DNS检查异常处理 检查项内容 当前检查项包括以下内容: 检查当前节点DNS配置是否能正常解析OBS地址 检查当前节点是否能访问存储升级组件包的OBS地址 解决方案 节点升级过程中,需要从OBS拉取升级组件包。此项检查失败,请联系技术人员支持。 父主题: 升级前检查异常问题排查
Pod的ServiceName:Port,会先从CoreDNS中解析出nginx Service的IP地址,然后再访问nginx Service的IP地址,从而访问到nginx Pod。 图1 集群内域名解析示例图 Kubernetes中的域名解析逻辑 DNS策略可以在每个pod基础上进行设置,
String 插件名。 取值为: coredns:表示安装CoreDNS域名解析插件。 everest:表示安装CCE容器存储(Everest)插件。 node-local-dns:表示安装节点本地域名解析加速插件。 volcano:表示安装Volcano调度器插件。 npd:表示安装CCE节点故障检测插件。
的容器存储能力,支持对接云上云硬盘等存储服务。 CoreDNS 域名解析 默认安装CoreDNS域名解析插件,可为集群提供域名解析、连接云上 DNS 服务器等能力。 节点本地域名解析加速 可选插件。勾选后自动安装节点本地域名解析加速插件,通过在集群节点上运行 DNS 缓存代理来提高集群 DNS
”参数配置为“inherit”,差异配置将自动继承,由系统自动解析、识别与继承差异参数。 将“parameterSyncStrategy”参数配置为“force”,您需手动填写差异配置,详情请参考CoreDNS域名解析。 单击“确定”,等待插件升级完毕,检查CoreDNS各实例均可用,且Corefile符合预期。
使用场景 DNS配置或其他选项不合理时,可以向pod的“/etc/hosts”文件中添加条目,使用hostAliases在pod级别覆盖对主机名的解析。 操作步骤 使用kubectl连接集群。 创建hostaliases-pod.yaml文件。 vi hostaliases-pod.yaml
节点ARP表项超过限制 问题现象 ARP缓存超限,容器网络的访问出现异常,例如coredns域名解析概率失败。 问题根因 出现该问题的原因是节点上容器缓存的ARP表项超过限制。 问题定位 在节点操作系统内核为4.3以上时,dmsg日志中会有显性的打印neighbor table
谨慎调整VPC和虚拟机的DNS配置 CoreDNS启动时会默认从部署的实例上获取resolve.conf中的DNS配置,作为上游的解析服务器地址,并且在CoreDNS重启之前不会再重新加载节点上的resolve.conf配置。建议: 保持集群中各个节点的resolve.conf配
全托管免运维:ELB属于全托管免运维的云服务,不占用工作节点。 高可用性:ELB支持多可用区的同城双活容灾,无缝实时切换。完善的健康检查机制,保障业务实时在线。 自动弹性:ELB支持自动弹性规格,处理能力随业务峰值自动伸缩。 超强性能:单个ELB实例最大支持100万QPS、千万级并发连接。 云产
有如下优点: 平衡在线业务与离线业务对出口网络带宽的使用,保证在线业务有足够的网络带宽,在线业务触发阈值时,压缩离线业务带宽使用。 在线业务所占用的网络资源较少时,离线业务可使用更多带宽;在线业务所占用的网络资源较多时,降低离线业务资源占用量,从而优先保障在线业务的网络带宽。 约束与限制