Контейнеры и оркестрация

Планировщик Kubernetes

Определение

Планировщик Kubernetes — компонент, который выбирает узел для ещё не размещённого Pod. Он отбирает допустимые узлы по ресурсам и ограничениям, оценивает оставшиеся варианты и записывает назначение. Запуск контейнеров — уже дело служб выбранного узла.

Также ищут: kube-scheduler · Pod scheduler · Kubernetes scheduler

Зачем это знать

Когда Pod не размещается, сумма свободных ресурсов кластера может вводить в заблуждение. Проверьте запросы, доступное место и требования к каждому узлу. Добавление сервера поможет только тогда, когда новый узел подходит всем обязательным условиям.

Связи из словаря

Карта понятия

Доказательная часть

Что подтверждено

  1. Планировщик сначала отбирает допустимые узлы по требованиям Pod, затем оценивает варианты и записывает назначение выбранному узлу. Не каждый свободный узел является допустимым.

    Граница применимости: Стандартная модель планирования Kubernetes.

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

    Граница применимости: Разделение размещения, узловых компонентов и проверок готовности Kubernetes.

  3. Если ни один узел не удовлетворяет обязательным требованиям, планировщик не выбирает просто «наименее плохой». Pod остаётся без назначения до появления допустимого варианта.

    Граница применимости: Результат отбора узлов Kubernetes; отдельно возможны настроенные механизмы освобождения ресурсов.

  4. Один Pod размещается целиком на одном узле. Свободные CPU и память нескольких узлов нельзя объединить, чтобы вместить Pod, слишком большой для каждого из них.

    Граница применимости: Обычное размещение Pod Kubernetes по запросам ресурсов.

  5. При жёстком ограничении распределения отсутствие подходящего узла оставляет Pod без размещения. Мягкое требование допускает размещение с предпочтением более равномерного распределения. Выбор между ними влияет и на доступность, и на необходимый запас.

    Граница применимости: Ограничения распределения Pod по топологии; режимы DoNotSchedule и ScheduleAnyway.

  6. Фаза Pending включает не только ожидание планировщика, но и подготовку уже назначенного Pod, например получение образов. Для диагноза нужно проверить назначение узла, события и состояние контейнеров.

    Граница применимости: Фазы жизненного цикла Pod Kubernetes.

Граница терминов

Не путать

Планировщик Kubernetes Среда выполнения контейнеров

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

Перед спецификацией

Что проверить

  1. Проверьте, назначен ли Pod узлу: одного слова Pending недостаточно.
  2. Прочитайте события с причиной отсутствия размещения.
  3. Сравните запросы с остатком ресурсов каждого подходящего узла.
  4. Проверьте метки, ограничения и способ распределения по доменам отказа.
  5. Разделите жёсткие требования и предпочтения размещения.
  6. После назначения проверяйте получение образа, среду выполнения и готовность приложения.
  7. До покупки дополнительного узла докажите, что он устранит именно найденное ограничение.
Открытые основания

Первоисточники

  • Стандарт1
  • Документация6
  • Официальная документация
    Kubernetes Scheduler Kubernetes · Kubernetes current documentation · проверено

    Описывает отбор допустимых узлов, оценку вариантов и назначение узла для ещё не размещённого Pod.

    Утверждения: 01 · 02 · 03 · 04

  • Официальная документация
    Kubernetes Components Kubernetes · Kubernetes current documentation · проверено

    Описывает управляющие компоненты, узлы, сервер API, планировщик, контроллеры, kubelet и среду выполнения контейнеров.

    Утверждения: 02

  • Официальная документация
    Liveness, Readiness, and Startup Probes Kubernetes · Kubernetes current documentation · проверено

    Разделяет проверки готовности, работоспособности и запуска. Объясняет их действия и риск каскадного отказа при неверной настройке.

    Утверждения: 02

  • Официальная документация
    Resource Management for Pods and Containers Kubernetes · Kubernetes current documentation · проверено

    Разделяет запросы и ограничения CPU и памяти: их учёт при размещении, распределение процессорного времени и применение пределов на узле.

    Утверждения: 04

  • Официальная документация
    Pod Topology Spread Constraints Kubernetes · документация Kubernetes v1.37, страница открыта 6 сентября 2026 года · проверено

    Открыт редактором 6 сентября 2026 года, заголовок и версия документа сверены. Распределение Pod по меткам узлов и доменам отказа; жёсткое и мягкое требование.

    Утверждения: 05

  • Официальная документация
    Pod Lifecycle Kubernetes · Kubernetes current documentation · проверено

    Описывает назначение узла, состояния Pod и контейнеров, перезапуски контейнеров и создание нового Pod с другим UID взамен прежнего.

    Утверждения: 06

  • Первичная спецификация
    Open Container Initiative Runtime Specification Open Container Initiative · OCI Runtime Specification, November 2025 · проверено

    Определяет подготовленный пакет контейнера, config.json, окружение процесса и операции жизненного цикла.

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Подтвердите действие