Kubernetes – это структура оркестровки для контейнеров Docker, которая помогает представить контейнеры как сервисы для внешнего мира. Например, у вас может быть две службы: одна будет содержать nginx и mongoDB , а другая – nginx и redis . Каждая служба может иметь IP-адрес или точку обслуживания, к которой могут подключаться другие приложения. Kubernetes затем используется для управления этими услугами.
На следующей диаграмме в упрощенном формате показано, как Kubernetes работает с точки зрения архитектуры.
Миньон – это узел, на котором работают все сервисы. Вы можете иметь много миньонов, бегущих в один момент времени. Каждый миньон будет принимать один или несколько POD. Каждый POD похож на хостинг сервиса. Каждый POD содержит контейнеры Docker. Каждый POD может содержать различный набор Docker-контейнеров. Затем прокси-сервер используется для контроля доступа этих служб к внешнему миру.
Kubernetes имеет несколько компонентов в своей архитектуре. Роль каждого компонента объясняется ниже & mius;
etcd – этот компонент является хранилищем значений ключа высокой доступности, которое используется для хранения общей конфигурации и обнаружения служб . Здесь различные приложения смогут подключаться к сервисам через сервис обнаружения .
Фланель – это внутренняя сеть, которая требуется для контейнеров.
kube-apiserver – это API, который можно использовать для организации контейнеров Docker.
kube-controller-manager – используется для управления сервисами Kubernetes .
kube-scheduler – используется для планирования контейнеров на хостах.
Kubelet – используется для управления запуском контейнеров через файлы манифеста .
kube-proxy – используется для предоставления сетевых прокси-сервисов внешнему миру.