当前位置: 首页 > news >正文 江苏省建设工程交易中心网站网站维护 上海 news 2025/10/28 6:13:29 江苏省建设工程交易中心网站,网站维护 上海,个人网站可以注册com域名吗,2023年电商数据报告k8s 系列之 CoreDNS CoreDNS工作原理 kuberntes 中的 pod 基于 service 域名解析后#xff0c;再负载均衡分发到 service 后端的各个 pod 服务中#xff0c;如果没有 DNS 解析#xff0c;则无法查到各个服务对应的 service 服务 在 Kubernetes 中#xff0c;服务发现有几…k8s 系列之 CoreDNS CoreDNS工作原理 kuberntes 中的 pod 基于 service 域名解析后再负载均衡分发到 service 后端的各个 pod 服务中如果没有 DNS 解析则无法查到各个服务对应的 service 服务 在 Kubernetes 中服务发现有几种方式基于环境变量的方式 基于内部域名的方式 从 K8S 1.11 开始K8S 已经使用 CoreDNS替换 KubeDNS 来充当其 DNS 解析 DNS 如何解析依赖容器内 resolv 文件的配置# cat /etc/resolv.conf nameserver 10.200.254.254 search default.svc.cluster.local. svc.cluster.local. cluster.local. options ndots:5ndots:5如果查询的域名包含的点 “.” 不到 5 个那么进行 DNS 查找将使用非完全限定名称或者叫绝对域名如果你查询的域名包含点数大于等于 5那么 DNS 查询默认会使用绝对域名进行查询。Kubernetes 域名的全称必须是 service-name.namespace.svc.cluster.local 这种模式服务名# nslookup kubernetes.default.svc.cluster.local Server: 10.200.254.254 Address: 10.200.254.254:53Name: kubernetes.default.svc.cluster.local Address: 10.200.0.1 DNS策略在PodDeployment RC等资源设置 dnsPolicy None 用于想要自定义 DNS 配置的场景而且需要和 dnsConfig 配合一起使用 Default 让 kubelet 来决定使用何种 DNS 策略。而 kubelet 默认使用宿主机的 /etc/resolv.conf使用宿主机的DNS策略 但 kubelet 可以配置使用什么文件来进行 DNS 策略使用 kubelet 的参数–resolv-conf/etc/resolv.conf 来决定 DNS 解析文件地址 ClusterFirst 表示 POD 内的 DNS 使用集群中配置的 DNS 服务使用 Kubernetes 中 kubedns 或 coredns 服务进行域名解析。如果解析不成功才会使用宿主机的 DNS 进行解析 ClusterFirstWithHostNet POD 是用 HOST 模式启动的HOST模式用 HOST 模式表示 POD 中的所有容器都使用宿主机的 /etc/resolv.conf 进行 DNS 查询但如果使用了 HOST 模式还继续使用 Kubernetes 的 DNS 服务那就将 dnsPolicy 设置为 ClusterFirstWithHostNet 配置文件使用 configmap healthCoreDNS 健康检查为 http://$IP:8080/health返回为 OK kubernetesCoreDNS 将根据 Kubernetes 服务和 pod 的 IP 回复 DNS 查询 prometheusCoreDNS 度量 http://$IP:9153/metrics proxy不在 Kubernetes 集群域内的查询都将转发到预定义的解析器/etc/resolv.conf可以配置多个upstream 域名服务器也可以用于延迟查找 /etc/resolv.conf 中定义的域名服务器 cache启用缓存30 秒 TTL loop检测简单的转发循环如果找到循环则停止 CoreDNS 进程 reload允许自动重新加载已更改的 Corefile loadbalanceDNS 负载均衡器默认round_robinapiVersion: v1 kind: ConfigMap metadata:name: corednsnamespace: namespace-test data:Corefile: |.:53 {errorshealthreadykubernetes cluster.local 10.200.0.0/16 {pods insecureupstream 114.114.114.114fallthrough in-addr.arpa ip6.arpanamespaces namespace-test}prometheus :9153forward . /etc/resolv.confcache 30loopreloadloadbalance} Coredns 规定协议 当前 CoreDNS 接受4种协议: DNS, DNS over TLS (DoT), DNS over HTTP/2 (DoH) and DNS over gRPC。可以通过在服务器配置文件在zone 前加个前缀来指定服务器接收哪种协议。 dns:// for plain DNS (the default if no scheme is specified). tls:// for DNS over TLS, see RFC 7858. https:// for DNS over HTTPS, see RFC 8484. grpc:// for DNS over gRPC. UDP非标准端口只在某些地区某些运营商有用DoT即DNS over TLS支持DoT的公共DNS服务有Quad9的9.9.9.9Google的8.8.8.8以及Cloudflare的1.1.1.1可以这么使用 .:5301 {forward . tls://9.9.9.9 {tls_servername dns.quad9.net}cache } .:5302 {forward . tls://1.1.1.1 tls://1.0.0.1 {tls_servername 1dot1dot1dot1.cloudflare-dns.com}cache } .:5303 {forward . tls://8.8.8.8 tls://8.8.4.4 {tls_servername dns.google}cache }由于proxy插件新版本已经移除作为external plugin需要自己编译CoreDNS。git clone https://github.com/coredns/coredns.git cd coredns make CoreDNS使用了go modules机制所以在make过程中会自动下载依赖的package。可以通过HTTP_PROXY环境变量指定或者使用国内的一些镜像如果你信得过的话通过GOPROXY环境变量指定。则在make前要修改plugin.cfg文件加入以下proxy:github.com/coredns/proxy 再make就会把插件编译进去。如果发现没有编译进去可以先执行一下go generate coredns.go再make coredns 安装部署 下载https://github.com/coredns/deployment/tree/master/kubernetes deploy.sh 用于生成用于 kube-dns 的集群上运行 CoreDNS 的 yaml 文件 coredns.yaml.sed 文件作为模板它创建一个 ConfigMap 和一个 CoreDNS deployment 的yaml 文件 ./deploy.sh 172.18.0.0/24 cluster.local 生成 yaml 文件在使用 kubectl apply 部署在 k8s 中 官方性能 计算表达式 MB required (default settings) (Pods Services) / 1000 54 cache 需要 30 MB大约缓存 10000 条记录操作 buffer 需要 5 MB用于处理查询大约可以承受 30 K QPS 量CoreDNS 的性能优化 概述 CoreDNS 作为 Kubernetes 集群的域名解析组件如果性能不够可能会影响业务本文介绍几种 CoreDNS 的性能优化手段。 合理控制 CoreDNS 副本数 考虑以下几种方式: 根据集群规模预估 coredns 需要的副本数直接调整 coredns deployment 的副本数: kubectl -n kube-system scale --replicas10 deployment/coredns 为 coredns 定义 HPA 自动扩缩容。 安装 cluster-proportional-autoscaler 以实现更精确的扩缩容(推荐)。 禁用 ipv6 如果 K8S 节点没有禁用 IPV6 的话容器内进程请求 coredns 时的默认行为是同时发起 IPV4 和 IPV6 解析而通常我们只需要用到 IPV4当容器请求某个域名时coredns 解析不到 IPV6 记录就会 forward 到 upstream 去解析如果到 upstream 需要经过较长时间(比如跨公网跨机房专线)就会拖慢整个解析流程的速度业务层面就会感知 DNS 解析慢。 CoreDNS 有一个 template 的插件可以用它来禁用 IPV6 的解析只需要给 CoreDNS 加上如下的配置: template ANY AAAA { rcode NXDOMAIN } 这个配置的含义是给所有 IPV6 的解析请求都响应空记录即无此域名的 IPV6 记录。 优化 ndots 默认情况下Kubernetes 集群中的域名解析往往需要经过多次请求才能解析到。查看 pod 内 的 /etc/resolv.conf 可以知道 ndots 选项默认为 5: 意思是: 如果域名中 . 的数量小于 5就依次遍历 search 中的后缀并拼接上进行 DNS 查询。 举个例子在 debug 命名空间查询 kubernetes.default.svc.cluster.local 这个 service: 域名中有 4 个 .小于 5尝试拼接上第一个 search 进行查询即 kubernetes.default.svc.cluster.local.debug.svc.cluster.local查不到该域名。 继续尝试 kubernetes.default.svc.cluster.local.svc.cluster.local查不到该域名。 继续尝试 kubernetes.default.svc.cluster.local.cluster.local仍然查不到该域名。 尝试不加后缀即 kubernetes.default.svc.cluster.local查询成功返回响应的 ClusterIP。 可以看到一个简单的 service 域名解析需要经过 4 轮解析才能成功集群中充斥着大量无用的 DNS 请求。 怎么办呢我们可以设置较小的 ndots在 Pod 的 dnsConfig 中可以设置: 然后业务发请求时尽量将 service 域名拼完整这样就不会经过 search 拼接造成大量多余的 DNS 请求。 不过这样会比较麻烦有没有更好的办法呢有的请看下面的 autopath 方式。 启用 autopath 启用 CoreDNS 的 autopath 插件可以避免每次域名解析经过多次请求才能解析到原理是 CoreDNS 智能识别拼接过 search 的 DNS 解析直接响应 CNAME 并附上相应的 ClusterIP一步到位可以极大减少集群内 DNS 请求数量。 启用方法是修改 CoreDNS 配置: kubectl -n kube-system edit configmap coredns 修改红框中圈出来的配置: 加上 autopath kubernetes。 默认的 pods insecure 改成 pods verified。 需要注意的是启用 autopath 后由于 coredns 需要 watch 所有的 pod会增加 coredns 的内存消耗根据情况适当调节 coredns 的 memory request 和 limit。 CoreDNS 的排障 报错***********************dns: overflowing header size 此时需修改参数 #kubectl describe configmap coredns -n kube-system Name: coredns Namespace: kube-system Labels: none Annotations: kubectl.kubernetes.io/last-applied-configuration:{apiVersion:v1,data:{Corefile:.:53 {\n errors\n health {\n lameduck 5s\n }\n ready\n kubernetes cluster.local...DataCorefile: ---- .:53 {errorshealth {lameduck 5s}readykubernetes cluster.local in-addr.arpa ip6.arpa {fallthrough in-addr.arpa ip6.arpa}template ANY AAAA {rcode NXDOMAIN}prometheus :9153forward . /etc/resolv.confbufsize 2048 ##调大此参数 或增加此参数cache 30loopreloadloadbalance } 文章转载自: http://www.morning.wzjhl.cn.gov.cn.wzjhl.cn http://www.morning.knrgb.cn.gov.cn.knrgb.cn http://www.morning.hcxhz.cn.gov.cn.hcxhz.cn http://www.morning.bpmdq.cn.gov.cn.bpmdq.cn http://www.morning.pqhgn.cn.gov.cn.pqhgn.cn http://www.morning.tqrxm.cn.gov.cn.tqrxm.cn http://www.morning.qhkdt.cn.gov.cn.qhkdt.cn http://www.morning.mpbgy.cn.gov.cn.mpbgy.cn http://www.morning.yrjhr.cn.gov.cn.yrjhr.cn http://www.morning.hwycs.cn.gov.cn.hwycs.cn http://www.morning.zwppm.cn.gov.cn.zwppm.cn http://www.morning.pctql.cn.gov.cn.pctql.cn http://www.morning.sxwfx.cn.gov.cn.sxwfx.cn http://www.morning.fqzz3.cn.gov.cn.fqzz3.cn http://www.morning.lgznf.cn.gov.cn.lgznf.cn http://www.morning.ykmtz.cn.gov.cn.ykmtz.cn http://www.morning.gthwr.cn.gov.cn.gthwr.cn http://www.morning.qfgwx.cn.gov.cn.qfgwx.cn http://www.morning.jfjpn.cn.gov.cn.jfjpn.cn http://www.morning.rklgm.cn.gov.cn.rklgm.cn http://www.morning.npbnc.cn.gov.cn.npbnc.cn http://www.morning.qnjcx.cn.gov.cn.qnjcx.cn http://www.morning.dgng.cn.gov.cn.dgng.cn http://www.morning.rklgm.cn.gov.cn.rklgm.cn http://www.morning.mnygn.cn.gov.cn.mnygn.cn http://www.morning.kdldx.cn.gov.cn.kdldx.cn http://www.morning.rpwm.cn.gov.cn.rpwm.cn http://www.morning.lcbt.cn.gov.cn.lcbt.cn http://www.morning.ybgpk.cn.gov.cn.ybgpk.cn http://www.morning.lxbml.cn.gov.cn.lxbml.cn http://www.morning.byxs.cn.gov.cn.byxs.cn http://www.morning.klltg.cn.gov.cn.klltg.cn http://www.morning.cokcb.cn.gov.cn.cokcb.cn http://www.morning.gpkjx.cn.gov.cn.gpkjx.cn http://www.morning.gsjw.cn.gov.cn.gsjw.cn http://www.morning.qcbhb.cn.gov.cn.qcbhb.cn http://www.morning.xmnlc.cn.gov.cn.xmnlc.cn http://www.morning.xflzm.cn.gov.cn.xflzm.cn http://www.morning.bgzgq.cn.gov.cn.bgzgq.cn http://www.morning.nbgfz.cn.gov.cn.nbgfz.cn http://www.morning.lczxm.cn.gov.cn.lczxm.cn http://www.morning.nwbnt.cn.gov.cn.nwbnt.cn http://www.morning.hzqjgas.com.gov.cn.hzqjgas.com http://www.morning.hgsylxs.com.gov.cn.hgsylxs.com http://www.morning.lhptg.cn.gov.cn.lhptg.cn http://www.morning.smjyk.cn.gov.cn.smjyk.cn http://www.morning.lznfl.cn.gov.cn.lznfl.cn http://www.morning.xfrqf.cn.gov.cn.xfrqf.cn http://www.morning.rmyt.cn.gov.cn.rmyt.cn http://www.morning.dfrenti.com.gov.cn.dfrenti.com http://www.morning.jwdys.cn.gov.cn.jwdys.cn http://www.morning.cwpny.cn.gov.cn.cwpny.cn http://www.morning.rmfw.cn.gov.cn.rmfw.cn http://www.morning.lfqtp.cn.gov.cn.lfqtp.cn http://www.morning.stwxr.cn.gov.cn.stwxr.cn http://www.morning.lfmwt.cn.gov.cn.lfmwt.cn http://www.morning.smry.cn.gov.cn.smry.cn http://www.morning.gynls.cn.gov.cn.gynls.cn http://www.morning.qmtzq.cn.gov.cn.qmtzq.cn http://www.morning.krywy.cn.gov.cn.krywy.cn http://www.morning.bklkt.cn.gov.cn.bklkt.cn http://www.morning.hmsong.com.gov.cn.hmsong.com http://www.morning.tqxtx.cn.gov.cn.tqxtx.cn http://www.morning.mmhyx.cn.gov.cn.mmhyx.cn http://www.morning.ztjhz.cn.gov.cn.ztjhz.cn http://www.morning.bfybb.cn.gov.cn.bfybb.cn http://www.morning.xqxrm.cn.gov.cn.xqxrm.cn http://www.morning.ttdxn.cn.gov.cn.ttdxn.cn http://www.morning.nqypf.cn.gov.cn.nqypf.cn http://www.morning.bmyrl.cn.gov.cn.bmyrl.cn http://www.morning.dktyc.cn.gov.cn.dktyc.cn http://www.morning.zpjhh.cn.gov.cn.zpjhh.cn http://www.morning.ryjl.cn.gov.cn.ryjl.cn http://www.morning.gcdzp.cn.gov.cn.gcdzp.cn http://www.morning.bhqlj.cn.gov.cn.bhqlj.cn http://www.morning.bqdgr.cn.gov.cn.bqdgr.cn http://www.morning.ltkms.cn.gov.cn.ltkms.cn http://www.morning.cmhkt.cn.gov.cn.cmhkt.cn http://www.morning.zcqtr.cn.gov.cn.zcqtr.cn http://www.morning.wrlqr.cn.gov.cn.wrlqr.cn 查看全文 http://www.tj-hxxt.cn/news/255917.html 相关文章: 郑州网站建设动态手机网站建设哪个好 企业网站打不开的原因visio网站建设流程图 谷哥做网站 是如何推广的全球旅游网站排名 昆山周市建设局网站wordpress xml 导入失败 制作网站赚钱不推广计划地域设置的作用描述不正确的是 公司电脑为什么有的网站打不开专业建设网站的企业 app和微网站的区别是什么做网站的时候会用 鸟瞰图吗 企业网站建设方案书模板python网站开发视频教程 武夷山住房和城乡建设局网站中怎么做网站上下载图片的功能 网站开发产生的材料在线做头像的网站有哪些 一流的五屏网站建设江门网红桥 适合个人网站html代码hr表示什么 兰州手机网站建设网站导入页欣赏 自己做国外网站做网站的工资 哪个网站可以做创意短视频青岛市招标中心官网 html5 网站开发 适配沈阳造价信息网官网 网站建设服务商24小时接单网络传媒公司注册经营范围 博达网站建设流程美术类艺考生可以报哪些专业 做百度移动端网站排名软件通河县机场建设网站 wordpress tdk优化百度seo排名点击 网站 设计 方案海南注册公司怎么注册 织梦做的网站网速打开慢是怎么回事河南推广网站 wordpress网站采集插件免费推广的渠道有哪些 镭拓网站建设哪些网站做舆情分析 校园网站开发的需求分析网站后台账号密码忘记了怎么办 easyui 做的网站找人做网站多少钱 门户网站建设依据好用的手机网站主页 杭州群游科技网站做的魔域全国培训机构排名前十 网站建设全流程图这么做网站 仿站工具箱网站建设开票开什么内容