剖析 K8S DNS 的 Service 与 Pod
Kube-DNS 和 CoreDNS 是两个已建立的 DNS 解决方案,用于定义 DNS 命名规则。它们还可以将 Pod、DNS 服务解析为其相应的集群 IP。使用 DNS,Kubernetes 服务可以被 name 引用(该 name 对应于服务管理的任意数量的后端 Pod)。DNS 的命名方案也遵循了可预测的模式,使各种服务的地址更容易被记住。服务不仅可以通过完全限定域名(FQDN)引用,..
Kube-DNS 和 CoreDNS 是两个已建立的 DNS 解决方案,用于定义 DNS 命名规则。它们还可以将 Pod、DNS 服务解析为其相应的集群 IP。使用 DNS,Kubernetes 服务可以被 name 引用(该 name 对应于服务管理的任意数量的后端 Pod)。
DNS 的命名方案也遵循了可预测的模式,使各种服务的地址更容易被记住。服务不仅可以通过完全限定域名(FQDN)引用,还可以仅通过服务本身的 name 引用。
通过本文你将了解到:
-
Kubernetes DNS 如何运作;
-
Service DNS 记录;
-
Pod DNS 记录;
-
Pod 的主机名和子域字段;
-
教程:如何通过 DNS 命名解决服务问题;
-
总结。
Kubernetes DNS 如何运作?
在 Kubernetes 中,你可以设置一个 DNS 系统,其中包含两个受到良好支持的附加组件:CoreDNS 和 Kube-DNS。CoreDNS 是一个较新的附加组件,从 Kubernetes v1.12 开始成为默认的 DNS 服务器。但,某些 Kubernetes 安装程序工具仍可将 Kube-DNS 安装为默认 DNS 系统。
这两个附加组件都可以在集群上调度一个或多个 DNS Pod 以及具有静态 IP 的服务。
为了实现互操作性,两者在metadata.name字段都被命名为kube-dns。当管理员或安装工具配置集群时, kubelet会将 DNS 功能传递给每个带有--cluster-dns=<dns-service-ip>标识的容器。
配置kubelet时,管理员还可以使用--cluster-domain=<default-local-domain> 指定本地域名。
目前,Kubernetes DNS 加载项可以支持正向查找(A Record)、端口查找(SRV 记录)、反向 IP 地址查找(PTR 记录)以及一些其他选项。本文将继续讨论,在这些记录类型中 Pod 和 Service 的 Kubernetes 命名方案。
Service DNS 记录
通常,Kubernetes 服务支持 A Record、CNAME 和 SRV 记录。
A Record
更多推荐



所有评论(0)