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

这种场景下并不会为service=cinder去创建kubernetes中的endpoints资源对象

你可能感兴趣的:(kubernetes)