0Pricing
Docker & DevOps Fundamentals · Урок

Архитектура Kubernetes

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

«Архитектура Kubernetes» — бесплатный урок Docker & DevOps Fundamentals на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Docker & DevOps Fundamentals, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Docker & DevOps Fundamentals содержит 4 уроков всего.

Добро пожаловать в архитектуру K8s

Добро пожаловать в Kubernetes! Это мощная система для управления контейнеризированными приложениями на множестве машин.

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

Архитектура Kubernetes — иллюстрация 1

Кластер 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) и разблокировать остальной курс Docker & DevOps Fundamentals, подпишись на CoddyKit PRO. Курс Docker & DevOps Fundamentals содержит 4 уроков всего.

Чему я научусь в уроке «Архитектура Kubernetes»?

Разберитесь в основных компонентах кластера Kubernetes: главных и рабочих узлах, а также в их взаимодействии. Ты практикуешь Docker & DevOps Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Docker & DevOps Fundamentals?

Предыдущий опыт не требуется. Docker & DevOps Fundamentals на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Архитектура Kubernetes»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Docker & DevOps Fundamentals?

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

Все уроки этого курса

  1. Архитектура Kubernetes
  2. Pods: самые малые единицы
  3. Основные команды kubectl
  4. Пространства имён и метки для организации
← Назад к Docker & DevOps Fundamentals