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 — используется для предоставления сетевых прокси-сервисов внешнему миру.