Spec-Zone.ru › Kubernetes

Node

Node — это рабочий узел в Kubernetes. Каждый узел имеет уникальный идентификатор в кэше (то есть в etcd).
Документация по концепции Node
  • Узлы
    1. Управление
    2. Состояние узла
    3. Сигналы активности узла
    4. Контроллер узлов
    5. Отслеживание ресурсов
    6. Топология узла
    7. Что дальше

apiVersion: v1

import "k8s.io/api/core/v1"

Node

Node — это рабочий узел в Kubernetes. Каждый узел имеет уникальный идентификатор в кэше (то есть в etcd).

Поле Описание
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
NodeSpec
Spec определяет поведение узла. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
status
NodeStatus
Последнее наблюдаемое состояние узла. Заполняется системой. Только для чтения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

NodeSpec

NodeSpec описывает атрибуты, с которыми создаётся узел.

Поле Описание
configSource
NodeConfigSource
Устарело: ранее использовалось для указания источника конфигурации узла для функции DynamicKubeletConfig. Эта функция удалена.
externalID
string
Устарело. Не все kubelet задают это поле. Удалите поле после версии 1.13. См.: https://issues.k8s.io/61966
podCIDR
string
PodCIDR представляет диапазон IP-адресов подов, назначенный узлу.
podCIDRs
string array
patch strategy: merge
podCIDRs представляет диапазоны IP-адресов, назначенные узлу для использования подами на этом узле. Если это поле задано, запись с индексом 0 должна совпадать с полем podCIDR. Оно может содержать не более одного значения для каждого из протоколов IPv4 и IPv6.
providerID
string
Идентификатор узла, назначенный облачным провайдером, в формате: \<именемпровайдера>://\
taints
Taint array
Заданные метки ограничений узла.
unschedulable
boolean
Unschedulable управляет возможностью планирования новых подов на узле. По умолчанию узел доступен для планирования. Подробнее: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration

NodeStatus

NodeStatus содержит сведения о текущем состоянии узла.

Поле Описание
addresses
NodeAddress 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).
allocatable
object
Allocatable представляет ресурсы узла, доступные для планирования. По умолчанию используется Capacity.
capacity
object
Capacity представляет общий объём ресурсов узла. Подробнее: https://kubernetes.io/docs/reference/node/node-status/#capacity
conditions
NodeCondition array
patch strategy: merge on key type
Conditions — это массив текущих наблюдаемых условий узла. Подробнее: https://kubernetes.io/docs/reference/node/node-status/#condition
config
NodeConfigStatus
Состояние конфигурации, назначенной узлу с помощью функции динамической настройки Kubelet.
daemonEndpoints
NodeDaemonEndpoints
Конечные точки демонов, работающих на Node.
declaredFeatures
string array
DeclaredFeatures представляет функции, связанные с флагами функций, объявленные узлом.
features
NodeFeatures
Features описывает набор функций, реализованных реализацией CRI.
images
ContainerImage array
Список образов контейнеров на этом узле
nodeInfo
NodeSystemInfo
Набор идентификаторов/UUID для уникальной идентификации узла. Подробнее: https://kubernetes.io/docs/reference/node/node-status/#info
phase
string
NodePhase — это последняя наблюдаемая фаза жизненного цикла узла. Подробнее: https://kubernetes.io/docs/concepts/nodes/node/#phase Это поле никогда не заполняется и теперь считается устаревшим.

Возможные значения перечисления:
- `"Pending"` означает, что узел создан/добавлен системой, но ещё не настроен.
- `"Running"` означает, что узел настроен и на нём работают компоненты Kubernetes.
- `"Terminated"` означает, что узел удалён из кластера.
runtimeHandlers
NodeRuntimeHandler array
Доступные обработчики среды выполнения.
volumesAttached
AttachedVolume array
Список томов, подключённых к узлу.
volumesInUse
string array
Список подключаемых томов, используемых (смонтированных) узлом.

NodeList

NodeList — это полный список всех узлов, зарегистрированных на главном узле.

Поле Описание
apiVersion
string
APIVersion определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
Node array
Список узлов
kind
string
Kind — это строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Не может быть обновлено. В формате CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
Стандартные метаданные списка. Подробнее: 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. Это поле обязательно во всех случаях.
resourceVersion
string
ResourceVersion — это metadata.ResourceVersion указанного ConfigMap. Это поле запрещено в Node.Spec и обязательно в Node.Status.
uid
string
UID — это metadata.UID указанного ConfigMap. Это поле запрещено в Node.Spec и обязательно в Node.Status.

ContainerImage

Описание образа контейнера

Поле Описание
names
string array
Имена, под которыми известен этот образ. Например: ["kubernetes.example/hyperkube:v1.0.7", "cloud-vendor.registry.example/cloud-vendor/hyperkube:v1.0.7"]
sizeBytes
integer
Размер образа в байтах.

DaemonEndpoint

DaemonEndpoint содержит сведения об одной конечной точке демона.

Поле Описание
Port *
integer
Номер порта указанной конечной точки.

NodeAddress

NodeAddress содержит сведения об адресе узла.

Поле Описание
address *
string
Адрес узла.
type *
string
Тип адреса узла: Hostname, ExternalIP или InternalIP.

NodeCondition

NodeCondition содержит сведения об условиях узла.

Поле Описание
lastHeartbeatTime
Time
Время последнего обновления сведений об указанном условии.
lastTransitionTime
Time
Время последнего перехода условия из одного состояния в другое.
message
string
Понятное человеку сообщение с подробными сведениями о последнем переходе.
reason
string
(Краткая) причина последнего перехода условия.
status *
string
Состояние условия: True, False или Unknown.
type *
string
Тип условия узла.

NodeConfigSource

NodeConfigSource указывает источник конфигурации узла. Ровно одно вложенное поле (за исключением метаданных) должно иметь ненулевое значение. Этот API устарел начиная с версии 1.22

Поле Описание
configMap
ConfigMapNodeConfigSource
ConfigMap — это ссылка на ConfigMap узла.

NodeConfigStatus

NodeConfigStatus описывает состояние конфигурации, назначенной через Node.Spec.ConfigSource.

Поле Описание
active
NodeConfigSource
Active сообщает о сохранённой контрольной точке конфигурации, которую узел активно использует. Active будет представлять либо текущую версию назначенной конфигурации, либо текущую конфигурацию LastKnownGood — в зависимости от того, приводит ли попытка использовать назначенную конфигурацию к ошибке.
assigned
NodeConfigSource
Assigned сообщает о сохранённой контрольной точке конфигурации, которую узел попытается использовать. При обновлении Node.Spec.ConfigSource узел сохраняет соответствующие данные конфигурации на локальный диск вместе с записью о предполагаемой конфигурации. Узел использует эту запись, чтобы выбрать контрольную точку конфигурации, и сообщает о ней в Assigned. Assigned обновляется в состоянии только после сохранения записи на диск. При перезапуске Kubelet пытается сделать конфигурацию Assigned активной конфигурацией, загружая и проверяя сохранённые данные, указанные в Assigned.
error
string
Error описывает проблемы при согласовании Spec.ConfigSource с активной конфигурацией. Например, ошибки могут возникнуть при попытке сохранить Spec.ConfigSource в локальной записи Assigned, сохранить данные, связанные с Spec.ConfigSource, загрузить или проверить конфигурацию Assigned и т. д. Ошибки могут возникать на разных этапах синхронизации конфигурации. Более ранние ошибки (например, ошибки загрузки или сохранения контрольной точки) не приводят к откату к LastKnownGood и могут устраняться при повторных попытках Kubelet. Более поздние ошибки (например, ошибки загрузки или проверки сохранённой контрольной точки конфигурации) приводят к откату к LastKnownGood. В последнем случае обычно можно устранить ошибку, исправив конфигурацию, назначенную в Spec.ConfigSource. Дополнительные сведения для отладки можно найти, выполнив поиск сообщения об ошибке в журнале Kubelet. Error — это понятное человеку описание состояния ошибки; машины могут проверять, пусто ли Error, но не должны полагаться на неизменность текста Error в разных версиях Kubelet.
lastKnownGood
NodeConfigSource
LastKnownGood сообщает о сохранённой контрольной точке конфигурации, к которой узел вернётся при возникновении ошибки при попытке использовать конфигурацию Assigned. Конфигурация Assigned становится конфигурацией LastKnownGood, когда узел определяет, что она стабильна и корректна. В настоящее время это реализовано как 10-минутный период ожидания, начинающийся при обновлении локальной записи конфигурации Assigned. Если по окончании этого периода конфигурация Assigned остаётся активной, она становится LastKnownGood. Обратите внимание: если Spec.ConfigSource сбрасывается в nil (используются локальные значения по умолчанию), LastKnownGood также немедленно сбрасывается в nil, поскольку локальная конфигурация по умолчанию всегда считается корректной. Не следует делать предположений о методе, который узел использует для определения стабильности и корректности конфигурации: в будущем он может измениться или стать настраиваемым.

NodeDaemonEndpoints

NodeDaemonEndpoints содержит список портов, открытых демонами, работающими на Node.

Поле Описание
kubeletEndpoint
DaemonEndpoint
Конечная точка, на которой прослушивает запросы Kubelet.

NodeFeatures

NodeFeatures описывает набор функций, реализованных реализацией CRI. Функции, содержащиеся в NodeFeatures, должны зависеть только от реализации CRI и не зависеть от обработчиков среды выполнения.

Поле Описание
supplementalGroupsPolicy
boolean
SupplementalGroupsPolicy имеет значение true, если среда выполнения поддерживает SupplementalGroupsPolicy и ContainerUser.

NodeRuntimeHandler

NodeRuntimeHandler — это набор сведений об обработчиках среды выполнения.

Поле Описание
features
NodeRuntimeHandlerFeatures
Поддерживаемые функции.
name
string
Имя обработчика среды выполнения. Для обработчика среды выполнения по умолчанию — пустое значение.

NodeRuntimeHandlerFeatures

NodeRuntimeHandlerFeatures — это набор функций, реализованных обработчиком среды выполнения.

Поле Описание
recursiveReadOnlyMounts
boolean
RecursiveReadOnlyMounts имеет значение true, если обработчик среды выполнения поддерживает RecursiveReadOnlyMounts.
userNamespaces
boolean
UserNamespaces имеет значение true, если обработчик среды выполнения поддерживает UserNamespaces, в том числе для томов.

NodeSwapStatus

NodeSwapStatus содержит сведения о памяти подкачки.

Поле Описание
capacity
integer
Общий объём памяти подкачки в байтах.

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)).
swap
NodeSwapStatus
Сведения о памяти подкачки, указанные узлом.
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
Обязательно. Ключ метки ограничения, применяемой к узлу.
timeAdded
Time
TimeAdded обозначает время добавления метки ограничения.
value
string
Значение метки ограничения, соответствующее её ключу.

© 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/

Spec-Zone.ru

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