Azure kubernates:将位于另一个子网中的VM连接到容器

时间:2020-07-14 12:57:38

标签: azure kubernetes azure-kubernetes

因此,我已在子网A的Azure Kubernetes群集中部署了一个包含微服务的容器。我还有一个在VM上但在另一个子网B中运行的微服务。我必须调用在容器内运行的应用程序的其余API从VM。我该如何实现?

1 个答案:

答案 0 :(得分:2)

实现这一目标的正确方法是创建一个internal load balancer

从文档中

限制对Azure Kubernetes Service中的应用程序的访问 (AKS),则可以创建和使用内部负载平衡器。内部 负载均衡器使Kubernetes服务仅可用于 在与Kubernetes相同的虚拟网络中运行的应用程序 集群。

关注Specify a different subnet部分:

要为您的负载均衡器指定一个子网,请添加 服务的azure-load-balancer-internal-subnet注释。的 指定的子网必须与AKS位于同一虚拟网络中 簇。部署后,负载均衡器的EXTERNAL-IP地址是其中的一部分 指定的子网。

示例:

apiVersion: v1
kind: Service
metadata:
  name: internal-app
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-internal: "true"
    service.beta.kubernetes.io/azure-load-balancer-internal-subnet: "apps-subnet"
spec:
  type: LoadBalancer
  ports:
  - port: 80
  selector:
    app: internal-app

图:

enter image description here