EKS: не удалось найти подходящие подсети для создания ELB - PullRequest
2 голосов
/ 19 июня 2020

Я пытаюсь предоставить услугу внешнему миру, используя услугу типа loadBalancer.

Для этого я выполнил следующие действия c

https://aws.amazon.com/premiumsupport/knowledge-center/eks-kubernetes-services-cluster/

Мой loadbalancer.yaml выглядит так

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  type: LoadBalancer
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80

Но балансировщик нагрузки не работает должным образом. Я получаю следующую ошибку:

Warning  SyncLoadBalancerFailed  8s (x3 over 23s)  service-controller  Error syncing load balancer: failed to ensure load balancer: could not find any suitable subnets for creating the ELB

Похоже, это из-за некоторых проблем в тегах su bnet, которые необходимо решить, но у меня есть необходимые теги в моих подсетях

kubernetes.io/cluster/<cluster-name>. owned  
kubernetes.io/role/elb   1

Но все же я получаю сообщение об ошибке could not find any suitable subnets for creating the ELB

Ответы [ 2 ]

1 голос
/ 19 июня 2020

По умолчанию AWS EKS только подключает балансировщики нагрузки к подсетям publi c. Чтобы запустить его в частном su bnet, вам нужно не только пометить свои подсети (что похоже на вас), но и аннотировать балансировщик нагрузки -

service.beta.kubernetes. io / aws -load-balancer-internal: "true"

Дополнительную информацию можно найти здесь .

0 голосов
/ 19 июня 2020

Возможно, ваш su bnet не является publi c, т.е. доступен из inte rnet. Это потребуется для вашего Loadbalancer, чтобы принимать трафик c из внешнего мира. Чтобы сделать его publi c, вам необходимо подключить шлюз Inte rnet к вашему VP C. Проверьте здесь для получения дополнительной документации.

...