马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
k8s域名剖析
2种方式
- 集群内部域名(如 my-svc.default.svc.cluster.local)
- Pod → CoreDNS(10.96.0.10)
- CoreDNS 进入 kubernetes 插件
- 插件查 K8s API:找到 Service → 拿到 ClusterIP
- 直接返回给 Pod → 不走外网
- 外网域名(如 www.baidu.com)
- Pod → CoreDNS
- kubernetes 插件不认识,交给 forward 插件
- forward 把哀求发给上游 DNS(你设置的)
- 上游返回 IP → CoreDNS 复兴 Pod
- 网络走宿主机网卡出去
coredns设置
- [root@kmaster ~]# kubectl edit cm -n kube-system coredns
- apiVersion: v1
- data:
- Corefile: |
- .:53 {
- errors
- health {
- lameduck 5s
- }
- ready
- kubernetes cluster.local in-addr.arpa ip6.arpa {
- pods insecure
- fallthrough in-addr.arpa ip6.arpa
- ttl 30
- }
- prometheus :9153
- forward . /etc/resolv.conf {
- max_concurrent 1000
- }
- cache 30
- loop
- reload
- loadbalance
- }
- kind: ConfigMap
- metadata:
- creationTimestamp: "2026-05-10T08:02:36Z"
- name: coredns
- namespace: kube-system
- resourceVersion: "33482"
- uid: 9fc05c49-3b66-414b-b533-561334631418
复制代码- forward . /etc/resolv.conf {
- max_concurrent 1000
- }
复制代码
- . 匹配全部域名,全局匹配
- forward: coredns转发插件,意思是把剖析哀求转发到外部的dns服务器
- 读取的是/etc/resolv.conf,这个设置作为上游的dns剖析地点
紧张作用:集群内全部pod的外网域名剖析,全部转发到k8s节点宿主机设置的dns服务器上
解释掉的话集群pod就上不了网了- # 注释后,还需要重启才能生效
- [root@kmaster ~]# kubectl rollout restart deployment -n kube-system coredns
复制代码 不依靠节点dns,指定公共的dns剖析外网
- # 阿里云的dns解析
- forward . 223.5.5.5 {
- max_concurrent 1000
- }
- # 重启
- [root@kmaster ~]# kubectl rollout restart deployment -n kube-system coredns
复制代码 业务pod--->节点网络--->coredns---> 宿主机网卡----> 公共dns
免责声明:如果侵犯了您的权益,请联系站长及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金. |