1 Service定义
2 Service基本用法
3 Headless Service
4 集群外部访问Pod或Service
5 DNS服务搭建和配置指南
首先,作为服务发现机制的基本功能,在集群内需要能够通过服务名对服务进行访问,这就需要一个集群范围内的DNS服务完成从服务名到ClusterIP解析
Kubernetes DNS解析经历了三个阶段
5.1 DNS解析三阶段
1 SkyDns 1.2版本时
主要由四个容器组件
a kube2sky
获取Kubernetes中Service资源变化,将Service ip地址和名称生成DNS记录,并保存到etcd中
b skydns
skydns容器从etcd中读取DNS记录,并为客户端容器应用提供DNS查询服务
c healthz
healthz容器提供对skydns服务的健康检查功能
d etcd
数据库存储
2 KubeDNS 1.4版本时
a kubedns
功能类比kuber2sky 负责监控Service资源变化,但是不存储在etcd中,存储在内存中
b dnsmasq
从kubedns容器获取DNS记录,提供dns缓存,为客户端容器应用提供DNS查询服务
c sidecar
提供对kubedns和dnsmasq服务的健康检查
3 CoreDNS服务 1.11版本开始
coreDNS是CNCF基金会的一个项目,由Go语