#kubernetes #high-availability #rancher #k3s
Вопрос:
У меня есть такое же обсуждение в репозитории github k3s, но никто не отвечает. Надеюсь, кто-нибудь сможет дать ответ здесь.
Есть статьи, в которых говорится о встроенном решении etcd HA для k3s, подобном этому. Одним из ключевых действий является добавление решения балансировки нагрузки (EIP, как в этой статье, или LB от поставщика clound) между агентами и мастерами:
k3s agent --> load balancer --> master
И архитектура k3s также показывает, что необходим фиксированный адрес регистрации.
В то время как после некоторых исследований я обнаружил, что у k3s (по крайней мере, v1.21.5 k3s2) есть внутренний балансировщик нагрузки агента (конфигурация at /var/lib/rancher/k3s/agent/etc/k3s-agent-load-balancer.yaml
), который автоматически обновит список основных серверов api k8s в нем. Значит, внешний балансировщик нагрузки не нужен?
Ответ №1:
Я получил ответ от обсуждения k3s:
https://github.com/k3s-io/k3s/discussions/4488#discussioncomment-1719009
В нашей документации перечислены требования к «фиксированной конечной точке регистрации», чтобы узлы не зависели от одного сервера, находящегося в сети, для присоединения к кластеру. Эта конечная точка может быть балансировщиком нагрузки или DNS-псевдонимом, это зависит от вас. Это необходимо только при регистрации узлов в кластере; после успешного присоединения они используют балансировщик нагрузки клиента для прямой связи с серверами без прохождения конечной точки регистрации.
Я думаю, что этого достаточно, чтобы ответить на этот вопрос.
Ответ №2:
Да, внешний балансировщик нагрузки по-прежнему требуется для обеспечения высокой доступности настройки с несколькими главными узлами.
Всякий раз, когда вы запускаете рабочий узел или используете API, вам следует подключаться к внешнему балансировщику нагрузки, чтобы убедиться, что вы можете подключиться к работающему главному узлу, если один главный узел в данный момент не работает.
Внутренний балансировщик нагрузки, о котором вы упоминали выше, распределяет любую нагрузку внутри вашего кластера.
Комментарии:
1. Не могли бы вы рассказать более подробно о балансировщике нагрузки агента?