检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
避免IPVS缺陷导致的DNS概率性解析超时 问题描述 当集群使用IPVS作为kube-proxy负载均衡模式时,您可能会在CoreDNS缩容或重启时遇到DNS概率性解析超时的问题。 该问题由社区Linux内核缺陷导致,具体信息请参见https://github.com/torva
及时升级集群中的CoreDNS版本 CoreDNS功能较为单一,对不同的Kubernetes版本也实现了较好的兼容性,CCE会定期同步社区bug,升级CoreDNS插件的版本,建议客户定期升级集群的CoreDNS版本。CCE的插件管理中心提供了CoreDNS的安装及升级功能。您可以
另外集群能创建多少节点,还受节点子网的可用IP数和集群规模的影响。 图3 网络模型选择(创建集群时配置) 网段规划建议 在集群网络构成中介绍集群中网络地址可分为集群网络、容器网络、服务网络三块,在规划网络地址时需要从如下方面考虑: 三个网段不能重叠,否则会导致冲突。且集群所在VP
域名DNS CCE集群内域名解析失败,如何定位处理? 为什么CCE集群的容器无法通过DNS解析? 为什么修改子网DNS配置后,无法解析租户区域名? 解析外部域名很慢或超时,如何优化配置? 如何设置容器内的DNS策略?
客户端 优化域名解析请求 选择合适的镜像 避免IPVS缺陷导致的DNS概率性解析超时 使用节点DNS缓存NodeLocal DNSCache 及时升级集群中的CoreDNS版本 谨慎调整VPC和虚拟机的DNS配置 父主题: CoreDNS配置优化实践
网络 集群网络地址段规划实践 集群网络模型选择及各模型区别 CCE集群实现访问跨VPC网络通信 使用VPC和云专线实现容器与IDC之间的网络通信 自建IDC与CCE集群共享域名解析 通过负载均衡配置实现会话保持 不同场景下容器内获取客户端源IP 通过配置容器内核参数增大监听队列长度
为什么CCE集群的容器无法通过DNS解析? 问题描述 某客户在DNS服务中做内网解析,将自有的域名绑定到DNS服务中的内网域名中,并绑定到特定的VPC中,发现本VPC内的节点(ECS)可以正常解析内网域名的记录,而VPC内的容器则无法解析。 适用场景 VPC内的容器无法进行正常DNS解析的情况。 解决方案
CoreDNS域名解析 插件介绍 CoreDNS是一款通过链式插件的方式给Kubernetes提供DNS解析服务的DNS服务器,为Kubernetes社区推荐的DNS服务器解决方案。 字段说明 表1 参数描述 参数 是否必选 参数类型 描述 basic 否 object 插件基础配置参数,无需用户指定。
②:NodeLocal DNSCache本地缓存如果无法解析请求,则会请求集群CoreDNS进行解析。 ③:对于非集群内的域名,CoreDNS会通过VPC的DNS服务器进行解析。 ④:已注入DNS本地缓存的Pod,如果无法连通NodeLocal DNSCache,则会直接通过CoreDNS解析域名。
以上参数可以根据业务需要进行优化或修改。 场景一:解析外部域名慢 优化方案: 如果此工作负载不需要访问集群内的k8s服务,可以参考如何设置容器内的DNS策略?。 如果此工作服务访问其他的k8s服务时,使用的域名中“.”的个数小于2,可以将ndots参数设置为2。 场景二:解析外部域名超时 优化方案:
图4 VPC网络-多集群场景示例 容器隧道网络 该模式下容器网络是承载于VPC网络之上的Overlay网络平面,具有少量隧道封装性能损耗,但获得了通用性强、互通性强、高级特性支持全面(例如Network Policy网络隔离)的优势,可以满足大多数应用需求。集群网络地址段规划示意图如图5所示。
容器网络 Kubernetes本身并不负责网络通信,但提供了容器网络接口CNI(Container Network Interface),具体的网络通信交由CNI插件来实现。开源的CNI插件非常多,像Flannel、Calico等。针对Kubernetes网络,CCE为不同网络模型
50的大小 缓存记录数 个 CoreDNS缓存的DNS记录数 缓存命中率 个/秒 CoreDNS缓存每秒的命中请求数 指标清单 CoreDNS视图使用的指标清单如下: 表2 CoreDNS视图指标清单 指标 类型 说明 coredns_dns_request_count_total
容器网络模型对比 容器网络为集群内Pod分配IP地址并提供网络服务,CCE支持如下几种网络模型,您可在创建集群时进行选择。 云原生网络2.0 VPC网络 容器隧道网络 网络模型对比 表1主要介绍CCE所支持的网络模型,您可根据实际业务需求进行选择。 集群创建成功后,网络模型不可更改,请谨慎选择。
配置网络策略(NetworkPolicy)限制Pod访问的对象 网络策略(NetworkPolicy)是Kubernetes设计用来限制Pod访问的对象,相当于从应用的层面构建了一道防火墙,进一步保证了网络安全。NetworkPolicy支持的能力取决于集群的网络插件的能力。 默
优化策略: 修改CoreDNS的缓存时间 配置存根域 修改ndots 增加coredns的缓存时间:有利于同一个域名的第N次解析,减少级联DNS的请求数量。 配置存根域:有利于减少DNS请求链路。 修改方式: 修改CoreDNS缓存时间及配置存根域 修改方法请参见为CoreDNS配置存根域。
若nameserver设置为10.247.x.x说明DNS对接到集群的CoreDNS,需要确保集群CoreDNS工作负载运行正常。如果是其他IP地址,则表示采用云上DNS或者用户自建的DNS,请您自行确保解析正常。 更多域名解析异常的排查思路,请参见CCE集群中域名解析失败。 父主题: 网络异常问题排查
集群网络模型选择及各模型区别 自研高性能商业版容器网络插件,支持容器隧道网络、VPC网络、云原生网络2.0网络模型: 集群创建成功后,网络模型不可更改,请谨慎选择。 容器隧道网络(Overlay):基于底层VPC网络构建了独立的VXLAN隧道化容器网络,适用于一般场景。VXLAN
VPC的子网无法删除,怎么办? VPC的子网无法删除可能是因为您在CCE的集群中使用了该VPC的子网,因此需要在CCE界面删除相应的集群后,再删除VPC的子网。 删除集群会将集群内的节点以及运行的工作负载和服务都销毁,请谨慎操作。 不建议在ECS界面删除CCE集群中的节点。 父主题: 网络异常问题排查
网络 网络概述 容器网络 服务(Service) 路由(Ingress) DNS 集群网络配置 容器如何访问VPC内部网络 从容器访问公网 网络管理最佳实践