本文解释如何为kubernetes集群配置及自定义DNS服务。从kubernetes1.11版本开始,coreDNS插件被包含在GA发行版中,并且被kubeadm默认安装。详情:Configuring CoreDNS and Using CoreDNS for Service Discovery。除特别说明,本文讨论的是默认dns插件。
介绍
Kubernetes的DNS功能以插件形式提供,是自动启动的系统内置服务。服务包含如下三个容器:
- kubedns:监控Kubernetes master的service与endpoint变更,增删改DNS记录,将相关数据保存在内存中,为DNS查询提供服务。
- dnsmasq: 充当DNS缓存,提高性能。
- sidecar:挂斗容器,对dnsmasq与kubedns进行单点健康检查。
DNS服务拥有静态IP地址,将各节点kubeletr的--cluster-dns=<dns-service-ip>设置成DNS服务的静态IP地址,当kubelet创建容器时则将此地址传递给容器。Kubernetes的DNS服务基于skyDNS库,支持forward lookups (A records)、service lookups (SRV records)、reverse IP address lookups (PTR records)。
从节点继承DNS配置
当kubelet启动容器时,除使用kubernetes内置的DNS服务,默认从节点继承其DNS配置。此特性使kubernetes系统中的容器DNS行为高度依赖低层节点,建
Kubernetes DNS配置与自定义服务详解

本文详细介绍了如何在Kubernetes集群中配置和自定义DNS服务,包括从节点继承DNS配置、设置存根域和上游DNS服务器,以及利用ConfigMap和CoreDNS进行配置。自定义DNS配置有助于提高性能和实现更精细的域名解析控制。
最低0.47元/天 解锁文章
1091

被折叠的 条评论
为什么被折叠?



