解决方案
coredns 允许通过自带的 hosts 插件像配置本地hosts文件一样添加自定义dns解析。
通过 ConfigMap 添加自定义解析
通过在命名空间 kube-system 中找到类型为 configMap ,名称为 coredns 的配置文件配置。
在配置中添加如下设置就能将我们的自定义解析添加到coredns中。
文中将 redis 和 redis.connect.co 解析到地址 172.21.91.28
1 2 3 4 5 6
| hosts { 172.21.91.28 redis 172.21.91.28 redis.connect.co fallthrough }
|
修改后文件如下(根据kubernetes 安装方式不同,内容可能会有些许差别)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| .:53 { errors health kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure upstream fallthrough in-addr.arpa ip6.arpa } hosts { 172.21.91.28 redis 172.21.91.28 redis.connect.co fallthrough } prometheus :9153 proxy . /etc/resolv.conf cache 30 loop reload loadbalance }
|