0Pricing
Kubernetes Basics · Урок

Pods: самая малая единица

Узнайте, что такое Pod, для чего он нужен и как определять и создавать Pods с помощью манифестов YAML.

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

Добро пожаловать в мир подов!

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

На этом уроке вы познакомитесь с подами, узнаете об их назначении и научитесь создавать их с помощью YAML.

Pods: самая малая единица — иллюстрация 1

Что такое под?

Под — это абстракция, представляющая один экземпляр приложения. Он содержит один или несколько контейнеров, а также общие ресурсы.

  • Контейнеры: обычно контейнеры Docker, в которых выполняется код приложения.
  • Хранилище: общие тома для постоянного хранения данных.
  • Сеть: уникальный IP-адрес и сетевая конфигурация пода.

Почему поды, а не только контейнеры?

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

  • Общие ресурсы: контейнеры внутри пода используют одно сетевое пространство имён и могут обмениваться данными через localhost.
  • Совместное размещение: тесно связанные контейнеры (например, приложение и его вспомогательный контейнер для ведения журналов) всегда планируются на одном узле.
  • Абстракция: поды предоставляют абстракцию более высокого уровня, упрощая управление приложениями в целом, а не отдельными контейнерами.

Устройство простого пода

В большинстве подов работает один контейнер. Это наиболее распространённый вариант. Например, под может запускать только веб-сервер Nginx или приложение Node.js.

Даже с одним контейнером под предоставляет сетевой контекст и контекст хранилища, становясь законченной единицей развёртывания.

Описание подов с помощью YAML

Объекты Kubernetes, включая поды, обычно описываются с помощью файлов YAML (YAML Ain't Markup Language). В этих файлах задаётся желаемое состояние ресурсов.

Базовое описание пода в YAML включает:

  • apiVersion: версию API Kubernetes.
  • kind: тип объекта Kubernetes (например, Pod).
  • metadata: такие сведения, как name и labels пода.
  • spec: желаемое состояние, включая запускаемые контейнеры.

Пример YAML для пода Nginx

Рассмотрим простое YAML-описание пода, в котором работает веб-сервер Nginx.

Раздел spec.containers описывает контейнеры внутри пода, включая их name, image и ports.

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
  labels:
    app: web
spec:
  containers:
  - name: nginx
    image: nginx:latest
    ports:
    - containerPort: 80

Создание первого пода

Чтобы создать под из файла YAML, используйте команду kubectl apply. Эта команда сообщает Kubernetes, что ресурсы нужно создать или обновить на основе вашего описания.

Сначала сохраните приведённое ранее содержимое YAML в файл с именем nginx-pod.yaml.

kubectl apply -f nginx-pod.yaml

Проверка состояния пода

После применения YAML можно проверить состояние пода с помощью команды kubectl get pod. В результате под должен находиться в состоянии Running.

Для получения более подробной информации, включая события и состояние контейнера, используйте команду kubectl describe pod.

kubectl get pod nginx-pod
kubectl describe pod nginx-pod

Поды с несколькими контейнерами (вспомогательные контейнеры)

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

Распространённый шаблон — «вспомогательный» контейнер, работающий вместе с основным контейнером приложения и предоставляющий дополнительные службы, например ведение журналов, мониторинг или синхронизацию данных.

Более подробно мы рассмотрим этот шаблон на одном из следующих уроков!

Проверка определения пода

Какое из перечисленных полей верхнего уровня НЕ является обязательным в базовом YAML-описании пода Kubernetes?

Повторение: поды — основа

Вы узнали, что поды — это наименьшие единицы, которые можно развернуть в Kubernetes, объединяющие контейнеры, хранилище и сетевые ресурсы.

  • Поды абстрагируют контейнеры, обеспечивая совместное использование ресурсов и размещение рядом.
  • В YAML-файлах поды описываются с помощью apiVersion, kind, metadata и spec.
  • Поды создаются командой kubectl apply -f <filename>, а просматривать их можно с помощью kubectl get pod и kubectl describe pod.

Далее мы подробно рассмотрим жизненный цикл и состояния этих фундаментальных строительных блоков!

Часто задаваемые вопросы

Урок «Pods: самая малая единица» бесплатный?

Да — полный текст урока «Pods: самая малая единица» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Kubernetes Basics, подпишись на CoddyKit PRO. Курс Kubernetes Basics содержит 4 уроков всего.

Чему я научусь в уроке «Pods: самая малая единица»?

Узнайте, что такое Pod, для чего он нужен и как определять и создавать Pods с помощью манифестов YAML. Ты практикуешь Kubernetes Basics с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Kubernetes Basics?

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

Сколько времени занимает урок «Pods: самая малая единица»?

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

Можно ли писать и запускать код в этом уроке Kubernetes Basics?

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

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

  1. Pods: самая малая единица
  2. Жизненный цикл и состояния Pod
  3. Pods с несколькими контейнерами (боковые контейнеры)
  4. Инициализирующие контейнеры и порядок запуска
← Назад к Kubernetes Basics