2016-08-23 3 views
3

Я знаю, что Kubernetes имеет 5 модулей: kube-apiserver, kube-controller-manager, kube-scheduler в главных узлах и kubelet, kube-proxy в узлах Minion. Как они общаются с etcd? Будут ли они все запрашивать или устанавливать данные в etcd? или только некоторые из них?Как модули Kubernetes взаимодействуют с etcd?

The docs сказал, что etcd только доступ kube-apiserver:

Контроль доступа: дают только Кубэ-apiserver доступ для чтения/записи etcd. Вы не хотите, чтобы файл apiserver и т. Д. Были открыты для каждого узла в вашем кластере (или, что еще хуже, в Интернете в целом), поскольку доступ к etcd равен , эквивалентный root в вашем кластере.

Но некоторые блоги и рисунки архитектуры из Google считают, etcd также доступ к другим модулям, как то, что this blog сказал:

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

Так что это правильно? Благодаря!

+0

Я не эксперт по кубернете, но из того, что я знаю, у вас есть разные компоненты, которые разговаривают с сервером api и с сервером api с etcd, таким образом, каждый узел не имеет доступа к etcd, {etcd} <-> {api-server} <{nodes}, в вашем узле единственное, что вам нужно, это kubelet и kube-proxy – c4f4t0r

ответ

7

Документы, к которым вы привязаны, являются правильными - только apirusver связывается напрямую с etcd. Остальные компоненты системы обмениваются с etcd косвенно через привратника.

Также обратите внимание, что сообщение в блоге, с которым вы связались, составляет всего 2 года, и, возможно, оно было точным в то время, но документы, к которым вы привязались, относятся к текущей версии Kubernetes.

 Смежные вопросы

  • Нет связанных вопросов^_^