找不到EKS负载平衡器IP

时间:2020-04-28 16:31:41

标签: kubernetes service load-balancing

我正在尝试使用负载平衡器来公开我在EKS pod上运行的服务。我的服务在这样的Yaml中定义:

kind: Service
apiVersion: v1
metadata:
  name: mlflow-server
  namespace: default
  labels:
    app: mlflow-server
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-type: nlb
spec:
  externalTrafficPolicy: Local
  type: LoadBalancer
  selector:
    app: mlflow-server
  ports:
    - name: http
      port: 88
      targetPort: http
    - name: https
      port: 443
      targetPort: https

这是为运行mlflow服务器的Pod定义服务。应用此设置并访问为该服务生成的外部IP时,出现This site can’t be reached网页错误。将服务作为负载均衡服务公开以访问mlflow ui时,我会缺少什么吗?

1 个答案:

答案 0 :(得分:0)

对于基本的Loadbalancer类型服务,不需要注释service.beta.kubernetes.io/aws-load-balancer-type: nlb,这将创建网络负载均衡器。现在,如果您需要成为NLB,则可能存在以下问题:

  1. 应用设置时,nlb需要几分钟的时间。如果在部署后立即对其进行检查,它将无法接受流量。请在您的AWS-EC2console>“负载平衡器”选项卡中检查所需的网络负载平衡器是否已启动。

  2. 第二个更有可能发生的问题是NLB仅可以附加某些实例类型。要检查您是否可以通过以下链接。 https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-register-targets.html#register-deregister-targets

因此,如果您实际上不需要网络负载平衡器,请删除注释,因为nlb的电荷也较高。但是,如果这是最严峻的要求,请检查第二个选项是否与您在AWS上使用的实例与Network LoadBalancer兼容。