Не удалось установить JupyterHub на EKS: нет подходящей подсети для ELB

У меня проблема с кластером EKS (версия kubernetes 1.14). Я пытаюсь установить JupyterHub (версия 0.8.2) в кластер EKS через helm + tiller.

Кажется, что установка прошла успешно, но общедоступной службе прокси не удалось создать ELB. См. Вывод "kubectl describe svc" ниже:

Установка / развертывание приложения завершается ошибкой.

> kubectl describe svc
...
Name:                     proxy-public
Namespace:                jhub
Labels:                   app=jupyterhub
                          chart=jupyterhub-0.8.2
                          component=proxy-public
                          heritage=Tiller
                          release=jhub
...
  Warning  CreatingLoadBalancerFailed  1m (x6 over 3m)  service-controller  Error creating load balancer (will retry): failed to ensure load balancer for service jhub/proxy-public: could not find any suitable subnets for creating the ELB

Мой кластер EKS связан с 3 подсетями, 2 частными и 1 общедоступными. Я бы подумал, что ELB можно было бы разместить в публичной подсети?


person James Wierzba    schedule 30.04.2020    source источник


Ответы (1)


EKS требует, чтобы подсети были помечены, чтобы их можно было использовать для создания балансировщика нагрузки. Чтобы считаться подходящей подсетью, пометьте ее следующим образом: kubernetes.io/role/elb: shared. Для получения дополнительной информации см. статью портала знаний по тегированию подсети для EKS.

person jordanm    schedule 30.04.2020
comment
Странно, я не знал об этом и никогда раньше не сталкивался с этой проблемой. Мне удалось успешно установить JupyterHub 0.8.2 на EKS 1.14, и ELB был создан просто отлично. Единственная разница на этот раз заключается в том, что я создал все ресурсы с помощью terraform, тогда как раньше я предоставлял ресурсы с помощью облачной информации. В чем может быть причина, по которой я столкнулся только с этой проблемой, а не раньше? - person James Wierzba; 01.05.2020
comment
@JamesWierzba Код облачной информации, вероятно, пометил подсети, а код TF - нет. - person jordanm; 01.05.2020
comment
Это сработало, за исключением того, что тег, который вы упомянули, был неправильным в моем случае, в моем случае мне нужно использовать "kubernetes.io/cluster/eks_cluster_tf" : "shared" - person James Wierzba; 02.05.2020
comment
Это случилось со мной на моем втором кластере EKS в том же VPC. Первый до 1.18 вроде бы работает без этого. Кажется, что это необходимо для версии 1.19 и более поздних версий. - person FastGTR; 28.05.2021