Kubernetes (k8s): система оркестрации контейнеров с открытым исходным кодом от Google.
Происхождение названия: Kubernetes имеет длинное слово, а средние 8 букв обычно опускаются и называются k8s.
Он расположен между службами приложений и серверами, координируя и управляя несколькими службами приложений с помощью политик.
Посредством конфигурации файла YAML реализуются автоматическое развертывание, автоматический перезапуск, а также автоматическое расширение и свертывание приложений.
Архитектура Кубернетеса
Плоскость управления: эквивалент мозга кластера, отвечающего за управление и контроль рабочих узлов.
Компоненты включают в себя:
API-сервер: предоставляет интерфейс API для управления ресурсами службы.
Планировщик: Отвечает за решения по планированию ресурсов.
Менеджер контроллера: Отвечает за создание и завершение работы служб приложений.
и т.д.: В качестве уровня хранения он сохраняет состояние и данные кластера.
Рабочий узел (Узел): эквивалент рук и ног кластера, отвечающих за выполнение задач и запуск служб приложений.
Компоненты включают в себя:
Стручок: работающий экземпляр контейнера, наименьшая единица планирования в k8s.
Кубелет: Отвечает за управление жизненным циклом Pod.
Время выполнения контейнера: отвечает за управление жизненным циклом контейнеров, таких как Docker.
Прокси-сервер Кубе: отвечает за сетевой прокси-сервер Node и пересылку запросов.
Основные концепции Kubernetes
Кластер: Состоит из плоскости управления и нескольких рабочих узлов.
Изображение контейнера: Упакованные файлы, содержащие код приложения и зависимые среды.
Контейнер: работающая единица службы приложения.
Стручок: совокупность одного или нескольких контейнеров, которые совместно используют сетевые ресурсы и ресурсы хранения.
Операционные инструменты Kubernetes
кубектл: Инструмент командной строки, предоставляемый k8s, используется для взаимодействия с API k8s и упрощения развертывания и управления службами.
Развертывание службы и процесс вызова
Служба развертывания: развертывание сервисов путем написания файлов YAML и выполнения команд kubectl.
сервисный звонок: Внешние запросы поступают в кластер через Ingress-контроллер и перенаправляются в соответствующий под прокси-сервером Kube.
Преимущества Кубернетеса
Автоматизируйте развертывание, перезапуск и масштабирование.
Упростите процессы развертывания, эксплуатации и обслуживания услуг.
Поддержка управления крупномасштабными контейнерными услугами.
Подведем итог
k8s — это мощный инструмент оркестрации контейнеров, который реализует автоматизированное управление и планирование служб приложений посредством совместной работы плоскости управления и рабочих узлов.
Плоскость управления отвечает за принятие решений и выдачу инструкций, а рабочие узлы отвечают за выполнение задач и запуск приложений.
С помощью инструмента kubectl пользователи могут легко взаимодействовать с API k8s для быстрого развертывания и управления сервисами.