使用k8s集群内解析服务-创新互联
curl https://saas-pay-gray.XXX.cn/ping 外网
成都创新互联主营江岸网站建设的网络公司,主营网站建设方案,app软件定制开发,江岸h5小程序制作搭建,江岸网站营销推广欢迎江岸等地区企业咨询curl https://vpc-saas-pay-gray.XXX.cn/ping slb,即阿里云内网 1/3包是通的 当时设计slb(vpc)的时候考虑到具体功能,除了日常使用使用内网拉取容器镜像的功能之外,是否还有其他?
由于公司架构使用了k8s集群,k8s内部有做了一套完整的解析;即
不经过slb,直接通过k8s集群内DNS解析调用服务
servicename
curl saas-pay-gray/ping 相同的命名空间
kuaizimu-h6-gray -> saas-pay
servicename.namespace
curl saas-pay-gray.saas/ping 不同的命名空间之间的服务调用
curl http://saas-pay-gray.saas/ping 实验证明:在容器内直接获取k8s集群内的另外一个容器服务是可以的
curl https://saas-pay-gray.saas/ping 这里不可以访问的原因是内部解析不通过证书解析
https 对应 一个域名
杨贵明那里调用服务是通过域名" http://saas-pay-prod.saas.svc.cluster.local "调用服务的,其原理和调用servicename一样。
servicename的cluster.local在 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 文件中定义。
可以通过命令查看:
cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf |grep cluster-domain |awk '{print $NF}'
线下是否可以一样的方法调用servicename呢?答案是可以的
saas-pay-test.saas.svc.cluster.local
刚刚和阿里这儿确认了一下:
以后k8s集群内容器之间的服务调用,域名统一使用 "项目名.命名空间.svc.cluster.local" ;这个仅在k8s集群内解析。
外网之间调用k8s服务,直接使用公网的域名即可
注:
k8s集群内的容器之间的服务调用 不能走ECS的vpc网络,这种情况集群会把slb的ip当着是service的ip就进行转发
即vpc-公网域名;
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文标题:使用k8s集群内解析服务-创新互联
本文网址:http://pwwzsj.com/article/cohjis.html