Spec-Zone.ru › Kubernetes

PodGroup

PodGroup представляет собой экземпляр Pod, созданный во время выполнения и объединённый с другими Pod. PodGroup создаются контроллерами рабочих нагрузок (Job, LWS, JobSet и т. д.) на основе Workload.podGroupTemplates. Включение API PodGroup переключается с помощью функционального шлюза GenericWorkload.

apiVersion: scheduling.k8s.io/v1alpha2

import "k8s.io/api/scheduling/v1alpha2"

PodGroup

PodGroup представляет собой экземпляр Pod, созданный во время выполнения и объединённый с другими Pod. PodGroup создаются контроллерами рабочих нагрузок (Job, LWS, JobSet и т. д.) на основе Workload.podGroupTemplates. Включение API PodGroup переключается с помощью функционального шлюза GenericWorkload.

Поле Описание
apiVersion
string
APIVersion определяет схему этой версии представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее представление и могут отклонять нераспознанные значения. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind — строковое значение, представляющее ресурс REST, который описывает этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Не может быть изменено. В CamelCase. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ObjectMeta
Стандартные метаданные объекта. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
spec *
PodGroupSpec
Spec определяет желаемое состояние PodGroup.
status
PodGroupStatus
Status представляет текущее наблюдаемое состояние PodGroup.

PodGroupSpec

PodGroupSpec определяет желаемое состояние PodGroup.

Поле Описание
disruptionMode
string
DisruptionMode определяет режим, в котором данная PodGroup может быть прервана. Ожидается, что контроллеры заполнят это поле, скопировав его из PodGroupTemplate. Возможные значения: Pod, PodGroup. Если значение не задано, по умолчанию используется Pod. Это поле неизменяемо. Поле доступно только при включённом функциональном шлюзе WorkloadAwarePreemption.

Возможные значения перечисления:
- `"Pod"` означает, что отдельные Pod могут прерываться или вытесняться независимо друг от друга. Это не зависит от точного набора Pod, работающих в данный момент в этой PodGroup.
- `"PodGroup"` означает, что вся PodGroup должна прерываться или вытесняться целиком.
podGroupTemplateRef
PodGroupTemplateReference
PodGroupTemplateRef ссылается на необязательный шаблон PodGroup в другом объекте (например, Workload), который использовался для создания PodGroup. Это поле неизменяемо.
priority
integer
Priority — значение приоритета этой группы Pod. Различные компоненты системы используют это поле, чтобы определить приоритет группы Pod. Если включён контроллер допуска Priority Admission Controller, он не позволяет пользователям задавать это поле. Контроллер допуска заполняет это поле значением PriorityClassName. Чем выше значение, тем выше приоритет. Это поле неизменяемо. Поле доступно только при включённом функциональном шлюзе WorkloadAwarePreemption.
priorityClassName
string
PriorityClassName определяет приоритет, который следует учитывать при планировании этой группы Pod. Ожидается, что контроллеры заполнят это поле, скопировав его из PodGroupTemplate. В противном случае оно проверяется и разрешается аналогично PriorityClassName в PodGroupTemplate (то есть, если класс приоритета не указан, контроллер допуска может задать глобальный класс приоритета по умолчанию, если он существует. В противном случае приоритет группы Pod будет равен нулю). Это поле неизменяемо. Поле доступно только при включённом функциональном шлюзе WorkloadAwarePreemption.
resourceClaims
PodGroupResourceClaim array
стратегия исправления: merge,retainKeys по ключу name
ResourceClaims определяет, какие ResourceClaim могут совместно использоваться Pod в группе. Pod используют устройства, выделенные заявке PodGroup, задавая в собственном Spec.ResourceClaims заявку, точно соответствующую заявке PodGroup. Заявка должна иметь то же имя и ссылаться на тот же ResourceClaim или ResourceClaimTemplate. Это поле экспериментального уровня и требует включения функционального шлюза DRAWorkloadResourceClaims. Это поле неизменяемо.
schedulingConstraints
PodGroupSchedulingConstraints
SchedulingConstraints определяет необязательные ограничения планирования (например, топологии) для этой PodGroup. Ожидается, что контроллеры заполнят это поле, скопировав его из PodGroupTemplate. Это поле неизменяемо. Поле доступно только при включённом функциональном шлюзе TopologyAwareWorkloadScheduling.
schedulingPolicy *
PodGroupSchedulingPolicy
SchedulingPolicy определяет политику планирования для этого экземпляра PodGroup. Ожидается, что контроллеры заполнят это поле, скопировав его из PodGroupTemplate. Это поле неизменяемо.

PodGroupStatus

PodGroupStatus содержит информацию о состоянии группы Pod.

Поле Описание
conditions
Condition array
стратегия исправления: merge по ключу type
Conditions представляет последние наблюдения за состоянием PodGroup. Известные типы условий: - "PodGroupScheduled": указывает, выполнено ли требование к планированию. - "DisruptionTarget": указывает, будет ли PodGroup вскоре завершена из-за прерывания, например вытеснения. Известные причины для условия PodGroupScheduled: - "Unschedulable": PodGroup не может быть запланирована из-за ограничений ресурсов, правил affinity/anti-affinity или недостаточной ёмкости для группы. - "SchedulerError": PodGroup не может быть запланирована из-за внутренней ошибки, возникшей во время планирования, например ошибки разбора nodeAffinity. Известные причины для условия DisruptionTarget: - "PreemptionByScheduler": планировщик вытеснил PodGroup, чтобы освободить место для PodGroup или Pod с более высоким приоритетом.
resourceClaimStatuses
PodGroupResourceClaimStatus array
стратегия исправления: merge,retainKeys по ключу name
Состояние заявок на ресурсы.

PodGroupList

PodGroupList содержит список ресурсов PodGroup.

Поле Описание
apiVersion
string
APIVersion определяет схему этой версии представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее представление и могут отклонять нераспознанные значения. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
PodGroup array
Items — список PodGroup.
kind
string
Kind — строковое значение, представляющее ресурс REST, который описывает этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Не может быть изменено. В CamelCase. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
Стандартные метаданные списка.

BasicSchedulingPolicy

BasicSchedulingPolicy указывает, что следует использовать стандартное поведение планирования Kubernetes.

GangSchedulingPolicy

GangSchedulingPolicy определяет параметры планирования группой.

Поле Описание
minCount *
integer
MinCount — минимальное количество Pod, которые должны быть доступны для планирования или запланированы одновременно, чтобы планировщик допустил к выполнению всю группу. Значение должно быть положительным целым числом.

PodGroupResourceClaim

PodGroupResourceClaim ссылается ровно на один ResourceClaim: напрямую или посредством указания ResourceClaimTemplate, на основе которого затем создаётся ResourceClaim для PodGroup.

Для ResourceClaim задаётся имя, уникально идентифицирующее его в PodGroup. Pod, которым необходим доступ к ResourceClaim, задают соответствующую ссылку в собственном Spec.ResourceClaims. Заявка Pod должна точно совпадать со всеми полями заявки PodGroup.

Поле Описание
name *
string
Name уникально идентифицирует эту заявку на ресурс в PodGroup. Значение должно быть DNS_LABEL.
resourceClaimName
string
ResourceClaimName — имя объекта ResourceClaim в том же пространстве имён, что и эта PodGroup. ResourceClaim будет зарезервирован для PodGroup, а не для отдельных Pod. Должно быть задано ровно одно из полей ResourceClaimName и ResourceClaimTemplateName.
resourceClaimTemplateName
string
ResourceClaimTemplateName — имя объекта ResourceClaimTemplate в том же пространстве имён, что и эта PodGroup. Шаблон будет использован для создания нового ResourceClaim, который будет привязан к этой PodGroup. При удалении этой PodGroup ResourceClaim также будет удалён. Имя PodGroup и имя ресурса вместе со сгенерированным компонентом будут использованы для формирования уникального имени ResourceClaim, которое будет записано в podgroup.status.resourceClaimStatuses. Это поле неизменяемо; после создания ResourceClaim плоскость управления не будет вносить изменения в соответствующий ResourceClaim. Должно быть задано ровно одно из полей ResourceClaimName и ResourceClaimTemplateName.

PodGroupSchedulingConstraints

PodGroupSchedulingConstraints определяет ограничения планирования (например, топологии) для PodGroup.

Поле Описание
topology
TopologyConstraint array
Topology определяет ограничения топологии для группы Pod. В настоящее время можно указать только одно ограничение топологии. В будущем это может измениться.

PodGroupSchedulingPolicy

PodGroupSchedulingPolicy определяет конфигурацию планирования для PodGroup. Должна быть задана ровно одна политика.

Поле Описание
basic
BasicSchedulingPolicy
Basic указывает, что Pod в этой группе следует планировать с использованием стандартного поведения планирования Kubernetes.
gang
GangSchedulingPolicy
Gang указывает, что Pod в этой группе следует планировать по принципу «всё или ничего».

PodGroupTemplateReference

PodGroupTemplateReference ссылается на шаблон PodGroup, определённый в некотором объекте (например, Workload). Должна быть задана ровно одна ссылка.

Поле Описание
workload
WorkloadPodGroupTemplateReference
Workload ссылается на PodGroupTemplate в объекте Workload, который использовался для создания PodGroup.

TopologyConstraint

TopologyConstraint определяет ограничение топологии для PodGroup.

Поле Описание
key *
string
Key задаёт ключ метки узла, представляющей домен топологии. Все Pod в PodGroup должны размещаться в одном и том же экземпляре домена. Разные PodGroup могут размещаться в разных экземплярах домена, даже если они созданы на основе одного PodGroupTemplate. Примеры: "topology.kubernetes.io/rack"

WorkloadPodGroupTemplateReference

WorkloadPodGroupTemplateReference ссылается на PodGroupTemplate в объекте Workload.

Поле Описание
podGroupTemplateName *
string
PodGroupTemplateName задаёт имя PodGroupTemplate в объекте Workload.
workloadName *
string
WorkloadName задаёт имя объекта Workload.

© 2026 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2026 The Linux Foundation ®. All rights reserved.
https://kubernetes.io/docs/reference/kubernetes-api/scheduling/pod-group-v1alpha2/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API