Вопрос в том, разговаривает ли kubernetes-apiserver на узле Master3 с лидером etcd (на узле Master1), чтобы уведомить о состоянии ресурса, а затем лидер 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.
Дополнительные ресурсы, которые вы можете найти Вот, Вот и Вот:
Надеюсь на эту помощь. Пожалуйста, поделитесь своими выводами.