k8s 1.19.0
coredns 1.7.0
dns ip获取过程
dns请求到达coredns后,从list/watch本地缓存indexer获取对象,返回结果。
外部域名返回用户配置的IP。
有状态应用Pod域名:pod-name.svc-name.namespace.svc.cluster.local
返回Pod IP。
Headless Cluster:svc-name.namespace.svc.cluster.local
返回service对应的endpoints地址。
Cluster Service: svc-name.namespace.svc.cluster.local
返回service对应的Cluster IP。
外部域名
自定义域名设置在kube-system命名空间下的coredns中后,挂载到coredns容器的/etc/coredns目录下。
plugin\reload\reload.go
hook函数
定时通过md5sum比较Corefile文件内容是否发生了变化,变化后重新加载该文件。
修改后,默认重新加载coredns这个ConfigMap时间是[22.5,37.5)s。
plugin\reload\setup.go
注册该插件位置
coredns相关日志
参考资料
https://xiaorui.cc/archives/7346
标签:name,基本原理,svc,reload,域名,coredns,local From: https://www.cnblogs.com/WJQ2017/p/17795590.html