您好,登錄后才能下訂單哦!
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-公網域名;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。