使用k8s集群内解析服务

发布时间:2020-07-02 10:43:52 作者:细哥细妹
来源:网络 阅读:1010

curl https://saas-pay-gray.XXX.cn/ping 外网

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-公网域名;

推荐阅读:
  1. 【K8S排错】在集群的POD内不能访问clusterIP和service
  2. 如何使用kind搭建k8s集群

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

k8s

上一篇:操作mysql的方法

下一篇:iOS错误之“A valid provisioning profile for this executable was not found”

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》