问题的场景:
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
版权声明:本文为博主原创文章,转载请附上博文链接!