Архитектура Kubernetes
Разберитесь в основных компонентах кластера Kubernetes: главных и рабочих узлах, а также в их взаимодействии.
«Архитектура Kubernetes» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.
Добро пожаловать в архитектуру K8s
Добро пожаловать в Kubernetes! Это мощная система для управления контейнеризированными приложениями на множестве машин.
Прежде чем перейти к запуску приложений, важно понять основную структуру системы. Представьте, что сначала вы изучаете устройство автомобиля, а уже потом садитесь за руль!

Кластер Kubernetes
В основе Kubernetes лежит кластер. Кластер — это группа машин, называемых узлами, которые работают вместе.
Эти узлы делятся на два основных типа:
- Панель управления (главный узел): мозг кластера.
- Рабочие узлы: основные исполнители, на которых запускаются приложения.
Панель управления: мозг системы
Панель управления (в старой документации часто называется главным узлом) отвечает за управление кластером.
Она принимает глобальные решения о кластере, например планирует размещение приложений, а также обнаруживает события кластера и реагирует на них, например перезапускает отказавшее приложение. Она не запускает приложения напрямую.
Сервер API: входная дверь
Сервер API — внешняя часть панели управления Kubernetes. Это единственный компонент, который напрямую взаимодействует с вами (через kubectl).
Он предоставляет API Kubernetes и обрабатывает все взаимодействия внутри кластера, проверяя и настраивая данные для объектов API, таких как модули и сервисы.
etcd: память кластера
etcd — согласованное и высокодоступное хранилище пар «ключ-значение». Представьте его как постоянную память кластера.
В нём хранятся все данные кластера, включая конфигурацию, состояние и метаданные. Если etcd перестанет работать, кластер потеряет память и не сможет функционировать правильно!
Планировщик: служба подбора
Планировщик отслеживает вновь созданные модули (экземпляры ваших приложений), которым ещё не назначен рабочий узел.
Затем он выбирает для каждого модуля оптимальный узел, учитывая такие факторы, как требования к ресурсам, ограничения оборудования и политики.
Менеджер контроллеров: служба контроля
Менеджер контроллеров запускает различные контроллеры — фоновые циклы, которые регулируют состояние кластера.
Например, контроллер узлов отслеживает состояние узлов, а контроллер репликации обеспечивает запуск правильного количества модулей. Он постоянно стремится привести текущее состояние в соответствие с желаемым.
Рабочие узлы: основные исполнители
Рабочие узлы (в старой документации также называемые подчинёнными узлами) — это машины, на которых запускаются ваши контейнеризированные приложения, упакованные в модули.
Каждый рабочий узел содержит компоненты, позволяющие ему взаимодействовать с панелью управления и управлять запущенными на нём контейнерами.
Kubelet и среда выполнения контейнеров
На каждом рабочем узле:
- Kubelet: агент, который обеспечивает работу контейнеров в модуле. Он получает инструкции от сервера API и управляет модулями.
- Среда выполнения контейнеров: программное обеспечение, отвечающее за запуск контейнеров (например, Docker, containerd, CRI-O). Kubelet использует его для загрузки образов и запуска приложений.
Kube-proxy: управление сетью
Kube-proxy работает на каждом рабочем узле и отвечает за проксирование сетевого трафика для сервисов Kubernetes.
Он поддерживает сетевые правила на узле, обеспечивая сетевое взаимодействие с модулями как изнутри, так и извне кластера. Благодаря этому приложения остаются доступными.
Быстрая проверка архитектуры
Основываясь на изученном материале, какие из следующих компонентов входят в плоскость управления Kubernetes?
Итоги и дальнейшие шаги
Отличная работа! Теперь у Вас есть базовое понимание архитектуры Kubernetes.
- Плоскость управления (сервер API, etcd, планировщик, диспетчер контроллеров) управляет кластером.
- Рабочие узлы (Kubelet, среда выполнения контейнеров, Kube-proxy) запускают Ваши приложения.
Далее мы подробно рассмотрим наименьшую развёртываемую единицу Kubernetes — поды!
Часто задаваемые вопросы
Урок «Архитектура Kubernetes» бесплатный?
Да — полный текст урока «Архитектура Kubernetes» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.
Чему я научусь в уроке «Архитектура Kubernetes»?
Разберитесь в основных компонентах кластера Kubernetes: главных и рабочих узлах, а также в их взаимодействии. Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать DevOps Bootcamp?
Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Архитектура Kubernetes»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке DevOps Bootcamp?
Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Архитектура Kubernetes
- Pods: самые малые единицы
- Основные команды kubectl
- Пространства имён и метки для организации