問題:
在內網環(huán)境中,服務器不能連接互聯(lián)網,某些服務直接使用ip訪問又不方便,于是直接在hosts中配置域名解析,而K8S集群中的應用需要訪問這些服務,pod容器內卻不能解析,此時該怎么解決呢?
解決方法:
第一種方法:內網自建DNS服務,每臺主機DNS都指向該dnsf服務器
第二種方法:在需要訪問內網域名服務的pod上配置解析:
#在deployment上添加
hostAliases:
- ip: "192.168.200.100"
hostnames:
- "test.com.cn"
第三種方法:修改coredns配置,添加內網域名解析,全局域名映射
前兩種方法這里不做介紹,重點來說下如何通過第三種方法解決該問題。
# 查看k8s集群中運行的coredns pod
kubectl get pod -n kube-system | grep coredns
# 編輯coredns的配置,coredfile中添加自定義域名解析配置
kubectl -n kube-system edit cm coredns
#corefile下添加
hosts {
192.168.200.100 test.com.cn
fallthrough
}
# 重啟coredns pod
kubectl -n kube-system delete pod coredns-xxx
# 在應用pod 內測試域名是否能解析、訪問
nslookup test.com.cn
ping test.com.cn
參考資料:
修改coreDNS配置,實現(xiàn)k8s集群全局域名映射 – 源碼巴士?文章來源:http://www.zghlxwxcb.cn/news/detail-618922.html
kubernetes CoreDNS實現(xiàn)自定義域名解析?文章來源地址http://www.zghlxwxcb.cn/news/detail-618922.html
到了這里,關于K8S 集群應用配置coredns實現(xiàn)訪問內網域名 —— 筑夢之路的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!