ЧТО ТАКОЕ КУБЕРНЕТЕС?

Kubernetes — это платформа оркестрации контейнеров с открытым исходным кодом, которая помогает управлять распределенными контейнерными приложениями в больших масштабах.

Вы указываете Kubernetes, где вы хотите, чтобы ваше программное обеспечение работало, а платформа позаботится практически обо всем остальном.

Kubernetes предоставляет единый интерфейс программирования приложений (API) для развертывания веб-приложений, пакетных заданий и баз данных. Приложения в Kubernetes упакованы в контейнеры и четко отделены от своей среды. Kubernetes автоматизирует настройку ваших приложений, поддерживает и отслеживает распределение ресурсов.

ПРЕИМУЩЕСТВА КУБЕРНЕТА

Масштабируемость. Kubernetes автоматически масштабирует ваш кластер в соответствии с вашими потребностями, экономя ваши ресурсы и деньги.

Портативность. Kubernetes может работать где угодно. Он работает локально в вашем собственном центре обработки данных или в общедоступном облаке. Он также работает в гибридной конфигурации как общедоступных, так и частных экземпляров. С Kubernetes одни и те же команды можно использовать где угодно.

Последовательные развертывания. Развертывания Kubernetes согласованы во всей инфраструктуре. Контейнеры воплощают концепцию неизменной инфраструктуры, и все зависимости и инструкции по настройке, необходимые для запуска приложения, связаны с контейнером.

Раздельные и автоматизированные операции и разработка. Обычно между командами эксплуатации и разработки возникают разногласия. Операционные команды ценят стабильность и более консервативны в отношении изменений. Команды разработчиков ценят инновации и ценят высокую скорость изменений. Kubernetes разрешает этот конфликт.

БАЗОВАЯ АРХИТЕКТУРА КУБЕРНЕТА

Kubernetes — это зрелая платформа, состоящая из сотен компонентов.

Kubernetes — это программное обеспечение для управления контейнерными приложениями на кластере серверов. Эти серверы являются либо главными, либо рабочими узлами. Вместе они запускают приложения или службы.

Плоскость управления:

Плоскость управления действует как мозг любого кластера Kubernetes. Планирование, обнаружение сервисов, балансировка нагрузки и возможности управления ресурсами — все это обеспечивается плоскостью управления.

API-сервер:

API-сервер Kubernetes — это точка контакта для любого приложения или службы. Любой внутренний или внешний запрос отправляется на сервер API. Сервер определяет, действителен ли запрос, и перенаправляет запрос, если инициатор запроса имеет правильный уровень доступа.

и т. д.:

Если плоскость управления — это мозг, то etcd — это место, где хранятся воспоминания. Сервер Kubernetes без etcd подобен мозгу, который не может создавать воспоминания. Как отказоустойчивое, изначально распределенное хранилище ключей и значений, etcd является критически важным компонентом Kubernetes. Он действует как окончательный источник правды для любого кластера, сохраняя состояние кластера и конфигурацию.

Рабочие узлы:

Рабочий узел в Kubernetes запускает приложение или службу. В кластере много рабочих узлов, и добавление новых узлов — это то, как вы масштабируете Kubernetes.

Кубелет:

Кубелет — это крошечное приложение, которое живет на каждом рабочем узле. Кублет связывается с плоскостью управления, а затем выполняет запрошенные действия на рабочем узле.

Если плоскость управления похожа на мозг, то кубелет похож на руку. Плоскость управления отправляет команду, а kubelet выполняет действие.

Механизм выполнения контейнера:

Среда выполнения контейнера, соответствующая стандартам, управляемым инициативой Open Container Initiative (также известной как спецификация OCI), запускает контейнерные приложения. Это канал между переносимым контейнером и базовым ядром Linux.

Код внешнего интерфейса (kub.html) и внутреннего интерфейса (app.py) загружен здесь:

https://github.com/srasthychaudhary/K8S-WebApp

Окончательный результат