ЧТО ТАКОЕ КУБЕРНЕТЕС?
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