K8s Namespace和kube-dns原理剖析
文章目录1.当前架构2.域名 ---> IP?3.K8s名称空间空间抽象Namespace4.查看kube-system名字空间5.内部域名服务6.Linux域名解析总结1.当前架构本地K8S环境中部署了一个MySQL Pod,其次部署了Mysql service,为内部的cluster ip,可以理解为内部的反向代理,通过此代理,内部的其他Pod资源可通过代理访问其他Pod资源,第三个部署
·
1.当前架构
本地K8S环境中部署了一个MySQL Pod,其次部署了Mysql service,为内部的cluster ip,可以理解为内部的反向代理,通过此代理,内部的其他Pod资源可通过代理访问其他Pod资源,第三个部署了Petclinic应用,通过Cluseter IP来访问后端的MySQL Pod,前置部署了Petclinic service资源,对外暴露服务供用户访问
2.域名 —> IP?
mysql-service对应的Cluster IP为10.96.235.168,那mysql服务名是如何转换至此IP呢,K8S内置DNS解析服务,可实现服务名到IP之间的转换。
3.K8s名称空间空间抽象Namespace
Namespace是K8S当中一种逻辑隔离机制,方便于资源进行逻辑管理,在K8S集群中,可配置多个Namespace,每个名称空间可有独立的资源(例如svc、rc、pods),需要注意的是,名称空间不是物理上的隔离,看起来是隔离形式,实际上,不同名字的名称空间资源之间根据需求仍然可以相互访问
4.查看kube-system名字空间
5.内部域名服务
Pod首先会查询集群内的DNS服务,获得Mysql对应的Cluster IP的地址,然后向Mysql service发起调用
6.Linux域名解析
总结
更多推荐
已为社区贡献44条内容
所有评论(0)