Два кластера EKS, использующие один и тот же LoadBalancer.

Кто-нибудь знает, можно ли (и как) использовать один и тот же ELB между двумя входными контроллерами в разных кластерах EKS в одном VPC?

У меня уже работает один кластер EKS, и я только что создал второй. Я хотел бы использовать тот же ELB, который используется для первого во втором входном контроллере. Возможно ли?

Я попытался установить новый IngressController через Helm на своем втором кластере и обновить его конфигурацию, чтобы она указывала на существующий ELB, но служба IngressController остается в ожидании (в состоянии ожидания) навсегда.

1 ответ

У меня уже работает один кластер EKS, и я только что создал второй. Я хотел бы использовать тот же ELB, который используется для первого во втором входном контроллере. Возможно ли?

Короткая версия — да, длинная — «но ты точно не хочешь».

Если посмотреть, как поступает трафик из дикого Интернета в ваш кластер:

      { Internet } --> ELB --> Node --> NodePort --> Service

полезнее понять, почему ответ «да», а также почему ответ «но не делай этого», поскольку в вашей гипотетической ситуации у вас было бы

      { Internet } --> ELB --> Node --> NodePort --> Service
                     \
                      --> cluster-2-Node --> cluster-2-NodePort --> cluster-2-Service

это означает, что ELB будет выполнять циклический перебор запросов в обоих кластерах, поскольку у него не будет возможности узнать, на какие машины отправлять «настоящий» трафик. Теперь, если ваши кластеры являются идеальными зеркалами друг друга, вам повезло, это, вероятно, будет работать какое-то время 1 , но это наверняка плывет вверх по течению того, как хотят работать Kubernetes и ELB. Менее «задающий вопросы о сбоях сервера» — создать CNAME для обоих ELB, а затем позволить DNS выполнить циклический перебор трафика.

fn 1: часть «на какое-то время» заключается в том, что ассоциация между ELB и экземплярами, в которых он зарегистрирован, синхронизируется с помощьюkube-controller-managerи, таким образом, когда его цикл согласования запускается и он находит «чужие» узлы, прикрепленные к «его» ELB, он их вытесняет.

Другие вопросы по тегам