kubernetes中跨namespace访问服务

问题的场景: 
kubernetes中的namespace=A中的Pod需要访问namespace=B中的Pod所提供service=service_B

解决办法: 
在namespace_A中创建一个service_c, service_c里面不指定selector, 采用type=ExternalName的方式,externalName定义成为指向namespace=B中的service_B, 例子如下

apiVersion: v1
kind: Service
metadata:
 name: cinder
 namespace: openstack
spec:
 ports:
 - name: http
   port: 80
   protocol: TCP
   targetPort: 80
 sessionAffinity: None
 type: ExternalName
 externalName: ingress.kube-system.svc.cluster.local

[root@node-1 hzc]# nslookup  cinder.openstack.svc.cluster.local
cinder.openstack.svc.cluster.local  canonical name = openstack.kube-system.svc.cluster.local.
Name:   openstack.kube-system.svc.cluster.local
Address: 10.233.5.106
1

这种场景下并不会为service=cinder去创建kubernetes中的endpoints资源对象
--------------------- 
作者:阿仆来耶 
来源:CSDN 
原文:https://blog.csdn.net/jettery/article/details/79226801 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/wasd12121212/article/details/84425106
今日推荐