我有一个部署了2个服务的Kubernetes集群,这些服务通过入口暴露在互联网上。我可以使用入口主机访问集群外的服务。如何访问群集中的服务?我是否需要使用相同的入口主机方法来访问群集中的服务?
因此,如果我并行部署2个服务(服务A和服务B),如何配置服务A以与服务A属性文件中的服务B通信?
目前,我们已将我们的应用程序部署到Linux VM和服务A proeprty文件将http:<serviceB_VIP>/api/v1/...
如何实现kubernetes集群的相同功能?如何在部署之前在服务A属性中配置服务B URL,以便可以并行部署服务。
由于
答案 0 :(得分:3)
Ingress backend:
中的serviceName:
和servicePort:
与用于在群集内进行通信的对象相同。事实上,这就是为什么kubernetes中几乎每个对象的名称都必须与DNS兼容:因为它们经常被kube-dns
公开。
因此,对于Service
metadata.name: foo
和metadata.namespace: bar
的{{1}},可以在群集中以foo.bar.svc.cluster.local
的形式访问该服务,其中包含port:
的所有Service
那个(?<![A-Z0-9])[A-Z0-9]{20}(?![A-Z0-9])
。
我非常高度,强烈建议您阅读有关服务的kubernetes文档
答案 1 :(得分:0)
您可以通过ClusterIP在群集中公开服务。 kubernetes有4种服务类型。 1. NodePort: - 在Kubernetes Nodes端口上公开服务。 2. ClusterIP: - 您只能使用群集公开您的服务 3. LoadBalancer: - 您可以在Load Balancer上公开您的服务,它在GCP中创建一个nginx负载均衡器。