CoreDNS 添加自定义 Hosts 解析与 DNS 转发解析
一、描述
当服务或者DNS故障时,在宿主机做dns解析或者hosts是无效的,k8s容器使用coredns进行解析,除非pod使用宿主机dns解析,这样是很不友好的。
1.1、编辑 CoreDNS CM配置
kubectl edit configmap -n kube-system coredns
1.2、自定义 HOSTS 解析
- HOSTS 解析解决全部POD快速dns解析保证容器内服务正常调用
- DNS转发解决全部容器对指定域名转发到指定dns服务器
.: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
# HOSTS 主机名解析
hosts {
127.127.127.127 test.aka.com
fallthrough
}
}
# DNS 转发解析
aka.com:53 {
errors
cache 30
forward . 10.1.255.18 10.2.255.18
reload
}
名称 | 描述 |
---|---|
hosts | hosts 是 CoreDNS 的一个 plugin,这一节的意思是加载 /etc/hosts 文件里面的解析信息。hosts 在最前面,则如果一个域名在 hosts 文件中存在,则优先使用这个信息返回; |
fallthrough | 如果 hosts 中找不到,则进入下一个 plugin 继续。缺少这一个指令,后面的 plugins 配置就无意义了; |
cache | 溯源得到的结果,缓存指定时间。类似 TTL 的概念; |
reload | 多久扫描配置文件一次。如有变更,自动加载; |
errors | 打印/存储错误日志; |
1.3、HOSTS 主机名解析效果
root@dasd-quark-8cffb964f-mn4lh:/etc/nginx$ping test.aka.com
PING test.aka.com (127.127.127.127): 56 data bytes
64 bytes from 127.127.127.127: seq=0 ttl=64 time=0.021 ms
64 bytes from 127.127.127.127: seq=1 ttl=64 time=0.054 ms
^C
--- test.aka.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.021/0.037/0.054 ms
1.4、DNS 转发解析效果
root@dasd-quark-8cffb964f-mn4lh:/etc/nginx$ ping aka.aka.com
PING prod-crm.mbcrm.com (10.1.3.100) 56(84) bytes of data.
64 bytes from 10.1.5.2 (10.1.3.100): icmp_seq=1 ttl=254 time=0.371 ms
64 bytes from 10.1.5.2 (10.1.3.100): icmp_seq=2 ttl=254 time=0.390 ms
64 bytes from 10.1.5.2 (10.1.3.100): icmp_seq=3 ttl=254 time=0.400 ms
^C
--- prod-crm.mbcrm.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2029ms
rtt min/avg/max/mdev = 0.371/0.387/0.400/0.012 ms
版权声明:
作者:Akiraka
链接:https://www.akiraka.net/kubernetes/1153.html
来源:Akiraka
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
海报
CoreDNS 添加自定义 Hosts 解析与 DNS 转发解析
一、描述
当服务或者DNS故障时,在宿主机做dns解析或者hosts是无效的,k8s容器使用coredns进行解析,除非pod使用宿主机dns解析,这样是很不友好的。
1.1、编……
共有 0 条评论