EKS - 内部 LB 或 ndoeport

EKS - internal LB or ndoeport

我在一个 VPC 中有一个 EKS 集群 运行,在一个遗留 VPC 中有一些 ec2 实例,这两个 VPC 之间有对等关系。

我在 EKS 集群上有一个应用程序需要从集群内部访问,也需要访问旧 VPC 上的 ec2 实例。

我是否需要为应用程序创建 2 个服务 - 一种:用于集群内通信的 clusterIP 和一种:用于外部 VPC 通信的 LoadBalancer:

annotations:
    service.beta.kubernetes.io/aws-load-balancer-type: external
    service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip

或者 - 我只能创建一种服务类型:nodeport/clusterIP/LB 内部用于集群内和外部 VPC 通信?

首选方式是什么。 谢谢,

Do I need to create 2 services for the app...create only one service kind: nodeport/clusterIP/LB internal for both in-cluster and external VPC communication?

在这种情况下您只需要一项服务。获取集群 IP 的类型化 NodePort(用于 k8s 集群网络内的连接);加上一个可在 EC2 工作节点上访问的端口。 Typed LoadBalancer 也可以为您提供集群 IP;加上 LB 端点。随着工作节点的出现和消失,LB 为您提供了更大的灵活性,因为您将只处理已知的端点。