k8s的域名解析(k8s域名解析不了)

木子玉木子玉 2024-01-15 08:10:12 30 阅读 0 评论

k8s网络配置DNS

根据附录1创建dnsutils pod,并按照DNS格式,尝试解析kube-dns(kube-system命名空间)和whoami-clusterip(default命名空间)。

ClusterFirstWithHostNet 集群 DNS 优先,并伴随着使用宿主机网络 nameserver:容器解析域名时查询的DNS服务器的IP地址列表。

在/etc/resolv.conf文件中配置短域补齐,比如cluster.local,这里必须要与skydns-rc.yaml.sed文件中的domain参数一致。

首先检查本地 DNS 配置 看一看 resolv.conf 文件。

k8s的域名解析(k8s域名解析不了)

09-kubernetes中的域名解析流程

根据附录1创建dnsutils pod,并按照DNS格式,尝试解析kube-dns(kube-system命名空间)和whoami-clusterip(default命名空间)。

第三个容器是 skydns ,提供DNS解析服务。最后一个容器是 healthz ,提供健康检查功能。有了Pod之后,还需要创建一个Service以便集群中的其他Pod访问DNS查询服务。

自定义DNS策略,设置允许 Pod 忽略 Kubernetes 环境中的 DNS 设置,Pod 会使用其 dnsConfig 字段 所提供的 DNS 设置。

Kubernetes集群容器的域名解析文件设置为options ndots:5,该参数的含义是当域名的“.”个数小于ndots的值,会先把域名与search搜索域列表进行组合后进行DNS查询,如果均没有被正确解析,再以域名本身去进行DNS查询。

nameserver 171252 #kube-dns service clusterIp options ndots:5 这个是从宿主机的/etc/resolv.conf文件中继承的。

后续流程跟clusterIp一样,此处就不在阐述。 dns相关 k8s中的dns默认使用的是coredns,通过以下命令查看。k8s中定义的service是有域名的,访问域名要通过dns解析,此时coredns就发挥它的作用了。

[k8s系列六]K8S网络补充之DNS

1、根据附录1创建dnsutils podk8s的域名解析,并按照DNS格式,尝试解析kube-dns(kube-system命名空间)和whoami-clusterip(default命名空间)。

2、ClusterFirst 集群 DNS 优先 ClusterFirstWithHostNet 集群 DNS 优先,并伴随着使用宿主机网络 nameserverk8s的域名解析:容器解析域名时查询k8s的域名解析的DNS服务器的IP地址列表。

3、CoreDNS 的 Corefile 配置文件k8s的域名解析:通过 Corefile 配置文件可知,两个定义的 DNS Server,分别监听 5300 和 53 端口,即 CoreDNS 的请求处理逻辑,如下图所示。

4、使用 kubectl logs 命令查看 DNS 守护程序的日志。

5、官方的yaml文件目录k8s的域名解析:kubernetes/cluster/addons/dns。

6、没关系,实际上kube-dns插件只是运行在kube-system命名空间下的Pod,完全可以手动创建它。可以在k8s源码(v2)的cluster/addons/dns目录下找到两个模板(skydns-rc.yaml.in和skydns-svc.yaml.in)来创建。

 您阅读本篇文章共花了: 

The End 微信扫一扫

文章声明:以上内容(如有图片或视频亦包括在内)除非注明,否则均为VPS测评站原创文章,转载或复制请以超链接形式并注明出处。

上一篇 下一篇

相关阅读

发表评论

访客 访客
快捷回复: 表情:
评论列表 (暂无评论,30人围观)

还没有评论,来说两句吧...

取消
微信二维码
微信二维码
支付宝二维码