我在同一个VPC和同一个命名空间内的cluster 1和cluster 2中部署了两个工作负载。我需要允许它们之间的通信使用服务,我创建相同的命名空间在两个集群和两个部署与服务
apiVersion: v1
kind: Namespace
metadata:
labels:
istio.io/rev: asm-managed-stable
name: test1
annotations:
mesh.cloud.google.com/proxy: '{"managed": true}'
---
apiVersion: v1
kind: Service
metadata:
name: test-v1
namespace: test1
spec:
selector:
app: test-v1
ports:
- protocol: TCP
port: 8080
targetPort: 8080
type: ClusterIP
---
apiVersion: v1
kind: Service
metadata:
name: test-v2
namespace: test1
spec:
selector:
app: test-v2
ports:
- protocol: TCP
port: 8080
targetPort: 8080
type: ClusterIP
我试图通过url * http://test-v2.test1.svc.cluster.local:8080 * 从第一次部署访问服务test-v2,但没有访问权限。
UPD:我发现问题出在DNS解析上,没有DNS代理就无法多集群解析服务DNS。那么问题是,是否有可能通过dns名称访问服务,而无需istio dns代理?
1条答案
按热度按时间khbbv19g1#
可以在内部服务IP内进行通信,以允许使用DNS服务名称进行通信,将dns proxy注解添加到pod