Node
Документация по концепции Node
apiVersion: v1
import "k8s.io/api/core/v1"
Node
Node — это рабочий узел в Kubernetes. Каждый узел имеет уникальный идентификатор в кэше (то есть в etcd).
| Поле | Описание |
|---|---|
apiVersionstring |
APIVersion определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
kindstring |
Kind — это строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Не может быть обновлено. В формате CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
metadataObjectMeta |
Стандартные метаданные объекта. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
specNodeSpec |
Spec определяет поведение узла. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
statusNodeStatus |
Последнее наблюдаемое состояние узла. Заполняется системой. Только для чтения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
NodeSpec
NodeSpec описывает атрибуты, с которыми создаётся узел.
| Поле | Описание |
|---|---|
configSourceNodeConfigSource |
Устарело: ранее использовалось для указания источника конфигурации узла для функции DynamicKubeletConfig. Эта функция удалена. |
externalIDstring |
Устарело. Не все kubelet задают это поле. Удалите поле после версии 1.13. См.: https://issues.k8s.io/61966 |
podCIDRstring |
PodCIDR представляет диапазон IP-адресов подов, назначенный узлу. |
podCIDRsstring array patch strategy: merge |
podCIDRs представляет диапазоны IP-адресов, назначенные узлу для использования подами на этом узле. Если это поле задано, запись с индексом 0 должна совпадать с полем podCIDR. Оно может содержать не более одного значения для каждого из протоколов IPv4 и IPv6. |
providerIDstring |
Идентификатор узла, назначенный облачным провайдером, в формате: \<именемпровайдера>://\именемпровайдера> |
taintsTaint array |
Заданные метки ограничений узла. |
unschedulableboolean |
Unschedulable управляет возможностью планирования новых подов на узле. По умолчанию узел доступен для планирования. Подробнее: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration |
NodeStatus
NodeStatus содержит сведения о текущем состоянии узла.
| Поле | Описание |
|---|---|
addressesNodeAddress array patch strategy: merge on key type
|
Список адресов, доступных для узла. Получается от облачного провайдера, если он доступен. Подробнее: https://kubernetes.io/docs/reference/node/node-status/#addresses Примечание: это поле объявлено поддерживающим слияние, однако ключ слияния недостаточно уникален, что может привести к повреждению данных при слиянии. Вместо этого вызывающим сторонам следует использовать патч с полной заменой. Пример см. в https://pr.k8s.io/79391. Потребители должны учитывать, что адреса могут меняться в течение жизненного цикла Node. Однако есть исключения, когда это может быть невозможно, например поды, наследующие адрес Node в собственном состоянии, или потребители downward API (status.hostIP). |
allocatableobject |
Allocatable представляет ресурсы узла, доступные для планирования. По умолчанию используется Capacity. |
capacityobject |
Capacity представляет общий объём ресурсов узла. Подробнее: https://kubernetes.io/docs/reference/node/node-status/#capacity |
conditionsNodeCondition array patch strategy: merge on key type
|
Conditions — это массив текущих наблюдаемых условий узла. Подробнее: https://kubernetes.io/docs/reference/node/node-status/#condition |
configNodeConfigStatus |
Состояние конфигурации, назначенной узлу с помощью функции динамической настройки Kubelet. |
daemonEndpointsNodeDaemonEndpoints |
Конечные точки демонов, работающих на Node. |
declaredFeaturesstring array |
DeclaredFeatures представляет функции, связанные с флагами функций, объявленные узлом. |
featuresNodeFeatures |
Features описывает набор функций, реализованных реализацией CRI. |
imagesContainerImage array |
Список образов контейнеров на этом узле |
nodeInfoNodeSystemInfo |
Набор идентификаторов/UUID для уникальной идентификации узла. Подробнее: https://kubernetes.io/docs/reference/node/node-status/#info |
phasestring |
NodePhase — это последняя наблюдаемая фаза жизненного цикла узла. Подробнее: https://kubernetes.io/docs/concepts/nodes/node/#phase Это поле никогда не заполняется и теперь считается устаревшим. Возможные значения перечисления: - `"Pending"` означает, что узел создан/добавлен системой, но ещё не настроен. - `"Running"` означает, что узел настроен и на нём работают компоненты Kubernetes. - `"Terminated"` означает, что узел удалён из кластера. |
runtimeHandlersNodeRuntimeHandler array |
Доступные обработчики среды выполнения. |
volumesAttachedAttachedVolume array |
Список томов, подключённых к узлу. |
volumesInUsestring array |
Список подключаемых томов, используемых (смонтированных) узлом. |
NodeList
NodeList — это полный список всех узлов, зарегистрированных на главном узле.
| Поле | Описание |
|---|---|
apiVersionstring |
APIVersion определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
items *Node array |
Список узлов |
kindstring |
Kind — это строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Не может быть обновлено. В формате CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
metadataListMeta |
Стандартные метаданные списка. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
AttachedVolume
AttachedVolume описывает том, подключённый к узлу
| Поле | Описание |
|---|---|
devicePath *string |
DevicePath обозначает путь к устройству, по которому должен быть доступен том |
name *string |
Имя подключённого тома |
ConfigMapNodeConfigSource
ConfigMapNodeConfigSource содержит сведения для ссылки на ConfigMap в качестве источника конфигурации Node. Этот API устарел начиная с версии 1.22: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
| Поле | Описание |
|---|---|
kubeletConfigKey *string |
KubeletConfigKey указывает, какому ключу указанного ConfigMap соответствует структура KubeletConfiguration. Это поле обязательно во всех случаях. |
name *string |
Name — это metadata.name указанного ConfigMap. Это поле обязательно во всех случаях. |
namespace *string |
Namespace — это metadata.namespace указанного ConfigMap. Это поле обязательно во всех случаях. |
resourceVersionstring |
ResourceVersion — это metadata.ResourceVersion указанного ConfigMap. Это поле запрещено в Node.Spec и обязательно в Node.Status. |
uidstring |
UID — это metadata.UID указанного ConfigMap. Это поле запрещено в Node.Spec и обязательно в Node.Status. |
ContainerImage
Описание образа контейнера
| Поле | Описание |
|---|---|
namesstring array |
Имена, под которыми известен этот образ. Например: ["kubernetes.example/hyperkube:v1.0.7", "cloud-vendor.registry.example/cloud-vendor/hyperkube:v1.0.7"] |
sizeBytesinteger |
Размер образа в байтах. |
DaemonEndpoint
DaemonEndpoint содержит сведения об одной конечной точке демона.
| Поле | Описание |
|---|---|
Port *integer |
Номер порта указанной конечной точки. |
NodeAddress
NodeAddress содержит сведения об адресе узла.
| Поле | Описание |
|---|---|
address *string |
Адрес узла. |
type *string |
Тип адреса узла: Hostname, ExternalIP или InternalIP. |
NodeCondition
NodeCondition содержит сведения об условиях узла.
| Поле | Описание |
|---|---|
lastHeartbeatTimeTime |
Время последнего обновления сведений об указанном условии. |
lastTransitionTimeTime |
Время последнего перехода условия из одного состояния в другое. |
messagestring |
Понятное человеку сообщение с подробными сведениями о последнем переходе. |
reasonstring |
(Краткая) причина последнего перехода условия. |
status *string |
Состояние условия: True, False или Unknown. |
type *string |
Тип условия узла. |
NodeConfigSource
NodeConfigSource указывает источник конфигурации узла. Ровно одно вложенное поле (за исключением метаданных) должно иметь ненулевое значение. Этот API устарел начиная с версии 1.22
| Поле | Описание |
|---|---|
configMapConfigMapNodeConfigSource |
ConfigMap — это ссылка на ConfigMap узла. |
NodeConfigStatus
NodeConfigStatus описывает состояние конфигурации, назначенной через Node.Spec.ConfigSource.
| Поле | Описание |
|---|---|
activeNodeConfigSource |
Active сообщает о сохранённой контрольной точке конфигурации, которую узел активно использует. Active будет представлять либо текущую версию назначенной конфигурации, либо текущую конфигурацию LastKnownGood — в зависимости от того, приводит ли попытка использовать назначенную конфигурацию к ошибке. |
assignedNodeConfigSource |
Assigned сообщает о сохранённой контрольной точке конфигурации, которую узел попытается использовать. При обновлении Node.Spec.ConfigSource узел сохраняет соответствующие данные конфигурации на локальный диск вместе с записью о предполагаемой конфигурации. Узел использует эту запись, чтобы выбрать контрольную точку конфигурации, и сообщает о ней в Assigned. Assigned обновляется в состоянии только после сохранения записи на диск. При перезапуске Kubelet пытается сделать конфигурацию Assigned активной конфигурацией, загружая и проверяя сохранённые данные, указанные в Assigned. |
errorstring |
Error описывает проблемы при согласовании Spec.ConfigSource с активной конфигурацией. Например, ошибки могут возникнуть при попытке сохранить Spec.ConfigSource в локальной записи Assigned, сохранить данные, связанные с Spec.ConfigSource, загрузить или проверить конфигурацию Assigned и т. д. Ошибки могут возникать на разных этапах синхронизации конфигурации. Более ранние ошибки (например, ошибки загрузки или сохранения контрольной точки) не приводят к откату к LastKnownGood и могут устраняться при повторных попытках Kubelet. Более поздние ошибки (например, ошибки загрузки или проверки сохранённой контрольной точки конфигурации) приводят к откату к LastKnownGood. В последнем случае обычно можно устранить ошибку, исправив конфигурацию, назначенную в Spec.ConfigSource. Дополнительные сведения для отладки можно найти, выполнив поиск сообщения об ошибке в журнале Kubelet. Error — это понятное человеку описание состояния ошибки; машины могут проверять, пусто ли Error, но не должны полагаться на неизменность текста Error в разных версиях Kubelet. |
lastKnownGoodNodeConfigSource |
LastKnownGood сообщает о сохранённой контрольной точке конфигурации, к которой узел вернётся при возникновении ошибки при попытке использовать конфигурацию Assigned. Конфигурация Assigned становится конфигурацией LastKnownGood, когда узел определяет, что она стабильна и корректна. В настоящее время это реализовано как 10-минутный период ожидания, начинающийся при обновлении локальной записи конфигурации Assigned. Если по окончании этого периода конфигурация Assigned остаётся активной, она становится LastKnownGood. Обратите внимание: если Spec.ConfigSource сбрасывается в nil (используются локальные значения по умолчанию), LastKnownGood также немедленно сбрасывается в nil, поскольку локальная конфигурация по умолчанию всегда считается корректной. Не следует делать предположений о методе, который узел использует для определения стабильности и корректности конфигурации: в будущем он может измениться или стать настраиваемым. |
NodeDaemonEndpoints
NodeDaemonEndpoints содержит список портов, открытых демонами, работающими на Node.
| Поле | Описание |
|---|---|
kubeletEndpointDaemonEndpoint |
Конечная точка, на которой прослушивает запросы Kubelet. |
NodeFeatures
NodeFeatures описывает набор функций, реализованных реализацией CRI. Функции, содержащиеся в NodeFeatures, должны зависеть только от реализации CRI и не зависеть от обработчиков среды выполнения.
| Поле | Описание |
|---|---|
supplementalGroupsPolicyboolean |
SupplementalGroupsPolicy имеет значение true, если среда выполнения поддерживает SupplementalGroupsPolicy и ContainerUser. |
NodeRuntimeHandler
NodeRuntimeHandler — это набор сведений об обработчиках среды выполнения.
| Поле | Описание |
|---|---|
featuresNodeRuntimeHandlerFeatures |
Поддерживаемые функции. |
namestring |
Имя обработчика среды выполнения. Для обработчика среды выполнения по умолчанию — пустое значение. |
NodeRuntimeHandlerFeatures
NodeRuntimeHandlerFeatures — это набор функций, реализованных обработчиком среды выполнения.
| Поле | Описание |
|---|---|
recursiveReadOnlyMountsboolean |
RecursiveReadOnlyMounts имеет значение true, если обработчик среды выполнения поддерживает RecursiveReadOnlyMounts. |
userNamespacesboolean |
UserNamespaces имеет значение true, если обработчик среды выполнения поддерживает UserNamespaces, в том числе для томов. |
NodeSwapStatus
NodeSwapStatus содержит сведения о памяти подкачки.
| Поле | Описание |
|---|---|
capacityinteger |
Общий объём памяти подкачки в байтах. |
NodeSystemInfo
NodeSystemInfo — это набор идентификаторов/UUID для уникальной идентификации узла.
| Поле | Описание |
|---|---|
architecture *string |
Архитектура, указанная узлом |
bootID *string |
Идентификатор загрузки, указанный узлом. |
containerRuntimeVersion *string |
Версия среды выполнения контейнеров, указанная узлом через удалённый API среды выполнения (например, containerd://1.4.2). |
kernelVersion *string |
Версия ядра, указанная узлом командой 'uname -r' (например, 3.16.0-0.bpo.4-amd64). |
kubeProxyVersion *string |
Устарело: версия KubeProxy, указанная узлом. |
kubeletVersion *string |
Версия Kubelet, указанная узлом. |
machineID *string |
MachineID, указанный узлом. Это поле предпочтительно использовать для уникальной идентификации машины в кластере. Подробнее см. в man(5) machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html |
operatingSystem *string |
Операционная система, указанная узлом |
osImage *string |
Образ операционной системы, указанный узлом на основе /etc/os-release (например, Debian GNU/Linux 7 (wheezy)). |
swapNodeSwapStatus |
Сведения о памяти подкачки, указанные узлом. |
systemUUID *string |
SystemUUID, указанный узлом. Для уникальной идентификации машины предпочтительно использовать MachineID. Это поле специфично для хостов Red Hat: https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid |
Taint
Узел, к которому прикреплена эта метка ограничения, оказывает указанный «эффект» на любой под, который её не допускает.
| Поле | Описание |
|---|---|
effect *string |
Обязательно. Эффект метки ограничения на поды, которые её не допускают. Допустимые эффекты: NoSchedule, PreferNoSchedule и NoExecute. Возможные значения перечисления: - `"NoExecute"` Выселить все уже работающие поды, которые не допускают эту метку ограничения. В настоящее время применяется NodeController. - `"NoSchedule"` Не разрешать планирование новых подов на узле, если они не допускают эту метку ограничения, но разрешить запуск всех подов, переданных Kubelet в обход планировщика, и продолжение работы всех уже запущенных подов. Применяется планировщиком. - `"PreferNoSchedule"` Аналогично TaintEffectNoSchedule, но планировщик старается не размещать новые поды на узле, а не полностью запрещает такое планирование. Применяется планировщиком. |
key *string |
Обязательно. Ключ метки ограничения, применяемой к узлу. |
timeAddedTime |
TimeAdded обозначает время добавления метки ограничения. |
valuestring |
Значение метки ограничения, соответствующее её ключу. |
© 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/core/node-v1/