Назад | Перейти на главную страницу

Есть ли способ определить, с каким etcd сервером взаимодействует Kubernetes-apiserver?

В следующем сценарии есть способ определить, с каким сервером etcd связывается Kubernetes-apiserver?

  1. Допустим, у нас есть 3 главных узла с внешним балансировщиком нагрузки и 3 etcd которые расположены на одном хосте с etcd, запущенным на узле Master1 в качестве лидера.
  2. Когда выполняется команда kubectl, внешний балансировщик нагрузки направляет трафик на один из 3 главных узлов циклическим способом.
  3. Предположим, что HTTP-запрос попадает в узел Master3.
  4. Вопрос в том, разговаривает ли kubernetes-apiserver на узле Master3 с лидером etcd (на узле Master1), чтобы уведомить о состоянии ресурса, а затем лидер etcd распределяет данные с двумя другими последователями?

    (или)

  5. Говорит ли kubernetes-apiserver на узле Master3 с etcd, работающим на узле Master3, о состоянии ресурса для хранения и уведомляет ли лидер etcd?

Строка из файла kubernetes-apiserver.service:--etcd-servers=https://10.240.0.10:2379,https://10.240.0.11:2379,https://10.240.0.12:2379 Кажется, что каждый kubenetes-apiserver, работающий на всех 3 главных узлах, знает обо всех 3 серверах etcd.

согласно документации: Лучшие практики для репликации мастеров для кластеров высокой доступности

В этом сценарии, когда вы создаете отдельный кластер с собственной выделенной базой данных etcd для сервера API: каждый сервер будет взаимодействовать с локальным etcd, и все серверы API в кластере будут доступны.

В этом случае лидер системы отправляет контрольные сообщения всем подчиненным, чтобы поддерживать стабильность кластера (требуется несколько узлов для согласования обновлений кластера). В случае некоторых сетевых или других проблем кластер без лидера не сможет вносить изменения (экземпляр etcd будет нестабильным, и кластер не сможет планировать новые модули и т. Д.)

Балансировка нагрузки в этом решении имеет решающее значение. В случае сбоя управляющего мастера api переходит в автономный режим, и в результате кластер не будет отвечать на запросы, сбои узлов и т. Д. Все задержки распространяются на контроллер Kubernetes.

Дополнительные ресурсы, которые вы можете найти Вот, Вот и Вот:

Надеюсь на эту помощь. Пожалуйста, поделитесь своими выводами.