CoreDNS

CoreDNS作为CNCF中托管的一个域名发现的项目,原生集成Kubernetes,它的目标是成为云原生的DNS服务器和服务发现的参考解决方案。所以,CoreDNS走的也是Traefik的路子,降维打击SkyDNS。

https://www.jianshu.com/p/144d683bbf26



一个典型的Corefile格式如下:



ZONE:[PORT] {
[PLUGIN] …
}
• ZONE:定义DNS server负责的zone,PORT是可选项,默认为53;
• PLUGIN:定义DNS server要加载的插件,每个插件可以有多个参数。



https://blog.csdn.net/weixin_33736832/article/details/92383005



在Kubernetes中创建的任何服务都会获得DNS名称。为服务创建的DNS A记录的格式为 ..svc.cluster.local。服务的DNS名称解析为服务的集群IP。集群IP是分配给服务的内部IP,可在集群内解析。



在Kubernetes命名空间内,服务可以使用 直接解析,命名空间外部的服务则可以使用.直接解析。这类似于Rancher 1.6中堆栈内以及跨堆栈的服务发现。



因此,要查找和访问应用程序工作负载,需要创建一个获取DNS记录的服务。



Rancher通过使用您在UI中选择的服务端口和服务类型自动创建服务以及工作负载,同时部署与工作负载名称相同的工作负载和服务名称,从而简化了此过程。如果没有暴露端口,则使用端口42。这种做法使得工作负载可以通过名称在命名空间内和跨命名空间发现。



Category k8s