Kubernetes(сокращенно K8s) — это система с открытым исходным кодом, используемая для управления и развертывания контейнерных приложений в компьютерной сети. Kubernetes стала популярной и мощной платформой управления контейнерами, первоначально разработанной Google и в настоящее время поддерживаемой большим сообществом разработчиков.
Основные функции Kubernetes включения
-
Управление контейнерами : Kubernetes позволяет упаковывать приложения и их ресурсы в файлы containers. Containers Обеспечьте облегченную среду и гарантируйте, что приложения будут работать согласованно в любой системе.
-
Автоматическое развертывание : Kubernetes обеспечивает автоматическое развертывание и простоту масштабирования приложений и сервисов. Вы можете указать требования к ресурсам, количество экземпляров и Kubernetes автоматически поддерживать желаемое состояние.
-
Управление ресурсами : K8s управляет ресурсами сервера, такими как ЦП, память и хранилище, чтобы приложения не потребляли чрезмерных ресурсов и не мешали друг другу.
-
Автоматическое восстановление и отказоустойчивость : Kubernetes помогает приложениям автоматически восстанавливаться после сбоев. Он может автоматически вернуться к предыдущей версии приложения, если в новой версии возникнут проблемы.
-
Балансировка нагрузки и распределение трафика : Kubernetes предоставляет механизмы для равномерного распределения трафика между экземплярами приложений на разных серверах nodes. Это повышает производительность и обеспечивает масштабируемость.
-
Управление конфигурациями и секретами : Kubernetes позволяет безопасно управлять конфигурацией и секретами приложений с помощью таких функций, как K8s Secrets и ConfigMaps.
Рабочие механизмы Kubernetes включают в себя
-
Nodes: Серверы или отдельные компьютеры в сети обозначаются как « nodes ». Существует два типа nodes in Kubernetes: главный узел и рабочий узел. Главный узел управляет и контролирует всю систему, а рабочий узел выполняет containers приложения.
-
Pods: Модуль — это самая маленькая развертываемая единица в мире Kubernetes. Модуль может содержать один или несколько модулей containers, но они используют одно и то же сетевое хранилище и жизненный цикл. Это облегчает общение containers внутри модуля.
-
Controller: Контроллеры — это компоненты, которые управляют и поддерживают реплики pods. Типы контроллеров включают ReplicaSet(обеспечение правильного количества pods и перезапуск при необходимости), Deployment(управление версиями и обновлениями приложений) и StatefulSet(для развертывания приложений с отслеживанием состояния).
-
Service: Сервисы — это механизм балансировки нагрузки и распределения трафика на pods. Службы упрощают доступ приложений pods без необходимости знать их конкретное местоположение.
-
Kubelet и Kube Proxy: Kubelet — компонент, работающий на каждом рабочем узле и отвечающий за управление pods этим узлом. Kube Proxy это сетевой прокси для подключения к pods.
В результате Kubernetes автоматизируется развертывание контейнерных приложений и управление ими, сокращая время и усилия, необходимые для обслуживания сложных систем.