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域名解析

在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐