通过负载均衡器将 AKS Egress 内部传输到本地服务

通过负载均衡器将 AKS Egress 内部传输到本地服务

我有一个 AKS 集群,其中一个 pod(称为“my-service”)需要通过 VPN 连接到本地服务,并且该服务需要将 IP 列入白名单。不幸的是,它只能将单个地址列入白名单,而不能将范围列入白名单。AKS(Azure)和本地服务通过 VPN 的连接正在运行并已验证正常工作。AKS pod 可以与本地服务通信。我们遇到的困难是本地服务将节点 IP 地址视为源 IP,而不是我们创建的负载均衡器的私有 IP。我为我的 pod 创建了一个内部负载均衡器来处理出口,但本地服务继续报告节点 IP 而不是 LB IP。我们正在运行 Kubenet 进行联网,根据 MSFT 文档,查看节点 ID 是正常行为。由于我们无法将整个 AKS 子网列入白名单,并且我们为每个白名单 IP 地址支付许可费用,因此我们需要有一个“静态”IP 源。查看节点 ID 不起作用,因为我们无法保证 pod 在节点上运行,而且我们不想将其固定到单个节点。我们试图使用负载均衡器来实现“静态”内部 IP。

有没有办法设置 AKS 或我的 VNet - VPN - 本地网络,以便本地服务将负载均衡器或其他“东西”视为源 IP?

我在这里关注了相当多关于这个主题的 MSFT 文档: 内部 LB AKS 出口

作为参考,以下是负载均衡器清单。非常普通。

apiVersion: v1
kind: Service
metadata:
  name: my-service-egress
  namespace: my-internal-service-namespace
  labels:
    name: my-service-egress
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-internal: 'true'
spec:
  type: LoadBalancer
  selector:
    name: my-service
  ports:
    - protocol: TCP
      port: 8999
      targetPort: 8999      

相关内容