Узел
apiVersion: v1
import "k8s.io/api/core/v1"
Узел
Узел — это рабочий узел в Kubernetes. Каждый узел будет иметь уникальный идентификатор в кэше (т.е. в etcd).
-
apiVersion: v1
-
kind: Узел
-
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. Эта функция удалена.
NodeConfigSource указывает источник конфигурации узла. Ровно одно подполе (за исключением metadata) должно быть не null. Этот API устарел начиная с версии 1.22
-
configSource.configMap (ConfigMapNodeConfigSource)
ConfigMap — ссылка на ConfigMap узла
ConfigMapNodeConfigSource содержит информацию для ссылки на ConfigMap в качестве источника конфигурации для узла. Этот API устарел с версии 1.22: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
-
configSource.configMap.kubeletConfigKey (string), обязательное
KubeletConfigKey объявляет, какой ключ из ссылаемого ConfigMap соответствует структуре KubeletConfiguration. Это поле обязательно во всех случаях.
-
configSource.configMap.name (string), обязательное
Name — metadata.name ссылаемого ConfigMap. Это поле обязательно во всех случаях.
-
configSource.configMap.namespace (string), обязательное
Namespace — metadata.namespace ссылаемого ConfigMap. Это поле обязательно во всех случаях.
-
configSource.configMap.resourceVersion (string)
ResourceVersion — metadata.ResourceVersion ссылаемого ConfigMap. Это поле запрещено в Node.Spec и обязательно в Node.Status.
-
configSource.configMap.uid (string)
UID — metadata.UID ссылаемого ConfigMap. Это поле запрещено в Node.Spec и обязательно в Node.Status.
-
-
-
externalID (string)
Устаревшее. Не все kubelet установят это поле. Удалить поле после 1.13. см.: https://issues.k8s.io/61966
-
podCIDR (string)
PodCIDR представляет собой диапазон IP-адресов pod, назначенный узлу.
-
podCIDRs ([]string)
podCIDRs представляет собой диапазоны IP-адресов, назначенные узлу для использования pod на этом узле. Если это поле указано, то 0-й элемент должен совпадать с полем podCIDR. Может содержать не более 1 значения для IPv4 и IPv6.
-
providerID (string)
ID узла, назначенный поставщиком облачных услуг в формате: <Имя поставщика>://<Идентификатор узла поставщика>
-
taints ([]Taint)
Если указано, метки узла.
Узел, к которому прикреплена эта метка, оказывает «воздействие» на любой pod, который не терпит эту метку.
-
taints.effect (string), обязательное
Обязательно. Эффект метки на под, которые не терпят эту метку. Допустимые эффекты: NoSchedule, PreferNoSchedule и NoExecute.
-
taints.key (string), обязательное
Обязательно. Ключ метки, который необходимо применить к узлу.
-
taints.timeAdded (Time)
TimeAdded — время добавления метки. Записывается только для меток NoExecute.
Time — оболочка вокруг time.Time, которая поддерживает правильную сериализацию в YAML и JSON. Оболочки предоставлены для многих фабричных методов, которые предлагает пакет time.
-
taints.value (string)
Значение метки, соответствующее ключу метки.
-
-
unschedulable (boolean)
Unschedulable контролирует планируемость новых pod на узле. По умолчанию узел планируется. Дополнительная информация: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration
NodeStatus
NodeStatus — информация о текущем состоянии узла.
-
адреса ([]NodeAddress)
Стратегия патчинга: слияние по ключу
typeСписок адресов, доступных узлу. Получается от поставщика облачных услуг, если доступен. Дополнительная информация: https://kubernetes.io/docs/concepts/nodes/node/#addresses Примечание: это поле объявлено как слияемое, но ключ слияния недостаточно уникален, что может привести к повреждению данных при слиянии. Звонящие должны вместо этого использовать патч с полным замещением. См. https://pr.k8s.io/79391 для примера. Потребители должны предполагать, что адреса могут меняться в течение жизненного цикла узла. Однако существуют исключения, когда это может быть невозможно, например, для Pods, которые наследуют адрес узла в своём собственном статусе, или для потребителей API обратного направления (status.hostIP).
NodeAddress содержит информацию об адресе узла.
-
addresses.address (string), требуется
Адрес узла.
-
addresses.type (string), требуется
Тип адреса узла, один из Hostname, ExternalIP или InternalIP.
-
-
allocatable (map[string]Quantity)
Allocatable представляет ресурсы узла, доступные для планирования. По умолчанию совпадает с Capacity.
-
capacity (map[string]Quantity)
Capacity представляет собой общие ресурсы узла. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity
-
conditions ([]NodeCondition)
Стратегия патчинга: слияние по ключу
typeConditions — массив текущих наблюдаемых условий узла. Дополнительная информация: https://kubernetes.io/docs/concepts/nodes/node/#condition
NodeCondition содержит информацию о состоянии узла.
-
conditions.status (string), требуется
Статус условия, один из True, False, Unknown.
-
conditions.type (string), требуется
Тип условия узла.
-
conditions.lastHeartbeatTime (Time)
Последнее время получения обновления по заданному условию.
Time — оболочка вокруг time.Time, которая поддерживает правильное маршаллирование в YAML и JSON. Оболочки предоставляются для многих фабричных методов, предлагаемых пакетом time.
-
conditions.lastTransitionTime (Time)
Последнее время перехода состояния условия из одного статуса в другой.
Time — оболочка вокруг time.Time, которая поддерживает правильное маршаллирование в YAML и JSON. Оболочки предоставляются для многих фабричных методов, предлагаемых пакетом time.
-
conditions.message (string)
Человекопонятное сообщение, указывающее подробности о последнем переходе.
-
conditions.reason (string)
(краткое) объяснение последнего перехода состояния условия.
-
-
config (NodeConfigStatus)
Статус конфигурации, назначенной узлу с помощью динамической функции конфигурации Kubelet.
NodeConfigStatus описывает состояние конфигурации, назначенной Node.Spec.ConfigSource.
-
config.active (NodeConfigSource)
Active сообщает о сохранённой конфигурации, которую узел активно использует. Active будет представлять либо текущую версию назначенной конфигурации, либо текущую LastKnownGood конфигурацию, в зависимости от того, приводит ли попытка использования назначенной конфигурации к ошибке.
NodeConfigSource указывает источник конфигурации узла. Ровно одно подполе (за исключением метаданных) должно быть не null. Этот API устарел начиная с версии 1.22
-
config.active.configMap (ConfigMapNodeConfigSource)
ConfigMap — ссылка на ConfigMap узла
ConfigMapNodeConfigSource содержит информацию для ссылки на ConfigMap в качестве источника конфигурации для узла. Этот API устарел начиная с версии 1.22: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
-
config.active.configMap.kubeletConfigKey (string), требуется
KubeletConfigKey объявляет, какой ключ из указанного ConfigMap соответствует структуре KubeletConfiguration. Это поле необходимо во всех случаях.
-
config.active.configMap.name (string), требуется
Name — metadata.name указанного ConfigMap. Это поле необходимо во всех случаях.
-
config.active.configMap.namespace (string), требуется
Namespace — metadata.namespace указанного ConfigMap. Это поле необходимо во всех случаях.
-
config.active.configMap.resourceVersion (string)
ResourceVersion — metadata.ResourceVersion указанного ConfigMap. Это поле запрещено в Node.Spec и обязательно в Node.Status.
-
config.active.configMap.uid (string)
UID — metadata.UID указанного ConfigMap. Это поле запрещено в Node.Spec и обязательно в Node.Status.
-
-
-
config.assigned (NodeConfigSource)
Assigned сообщает о сохранённой конфигурации, которую узел попытается использовать. При обновлении Node.Spec.ConfigSource узел сохраняет связанную конфигурацию в локальном диске, а также запись, указывающую на предполагаемую конфигурацию. Узел ссылается на эту запись, чтобы выбрать точку сохранения конфигурации, и сообщает об этой записи в Assigned. Assigned обновляется в статусе только после того, как запись была сохранена на диск. При перезапуске Kubelet он пытается сделать конфигурацию Assigned активной, загрузив и проверив сохранённую конфигурацию, определённую в Assigned.
NodeConfigSource указывает источник конфигурации узла. Ровно одно подполе (за исключением метаданных) должно быть не null. Этот API устарел начиная с версии 1.22
-
config.assigned.configMap (ConfigMapNodeConfigSource)
ConfigMap — ссылка на ConfigMap узла
ConfigMapNodeConfigSource содержит информацию для ссылки на ConfigMap в качестве источника конфигурации для узла. Этот API устарел начиная с версии 1.22: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
-
config.assigned.configMap.kubeletConfigKey (string), требуется
KubeletConfigKey объявляет, какой ключ из указанного ConfigMap соответствует структуре KubeletConfiguration. Это поле необходимо во всех случаях.
-
config.assigned.configMap.name (string), требуется
Name — metadata.name указанного ConfigMap. Это поле необходимо во всех случаях.
-
config.assigned.configMap.namespace (string), требуется
Namespace — metadata.namespace указанного ConfigMap. Это поле необходимо во всех случаях.
-
config.assigned.configMap.resourceVersion (string)
ResourceVersion — metadata.ResourceVersion указанного ConfigMap. Это поле запрещено в Node.Spec и обязательно в Node.Status.
-
config.assigned.configMap.uid (string)
UID — metadata.UID указанного ConfigMap. Это поле запрещено в Node.Spec и обязательно в Node.Status.
-
-
-
config.error (string)
Error описывает любые проблемы при согласовании Spec.ConfigSource с активной конфигурацией. Ошибки могут возникнуть, например, при попытке сохранить Spec.ConfigSource в локальную запись Assigned, при попытке сохранить содержимое, связанное с Spec.ConfigSource, при попытке загрузить или проверить конфигурацию Assigned и т.д. Ошибки могут возникать на разных этапах синхронизации конфигурации. Более ранние ошибки (например, ошибки загрузки или сохранения) не приведут к откату к LastKnownGood и могут разрешиться при повторных попытках Kubelet. Более поздние ошибки (например, ошибки загрузки или проверки сохранённой конфигурации) приведут к откату к LastKnownGood. В последнем случае обычно можно исправить ошибку, исправив конфигурацию, назначенную в Spec.ConfigSource. Дополнительную информацию для отладки можно найти, выполнив поиск сообщения об ошибке в журнале Kubelet. Error — это удобочитаемое описание состояния ошибки; машины могут проверить, пусто ли Error, но не должны полагаться на стабильность текста Error в разных версиях Kubelet.
-
config.lastKnownGood (NodeConfigSource)
LastKnownGood сообщает о сохранённой конфигурации, к которой узел вернётся, если возникнет ошибка при попытке использования конфигурации Assigned. Конфигурация Assigned становится LastKnownGood, когда узел определяет, что конфигурация Assigned стабильна и верна. В настоящее время это реализуется как период ожидания в 10 минут, начиная с момента обновления локальной записи конфигурации Assigned. Если конфигурация Assigned активна в конце этого периода, она становится LastKnownGood. Обратите внимание, что если Spec.ConfigSource сброшен в null (используются локальные значения по умолчанию), LastKnownGood также немедленно сбрасывается в null, так как локальная конфигурация по умолчанию всегда предполагается правильной. Не следует делать предположений о методе определения стабильности и корректности конфигурации узлом, так как это может измениться или стать настраиваемым в будущем.
NodeConfigSource указывает источник конфигурации узла. Ровно одно подполе (за исключением метаданных) должно быть не null. Этот API устарел начиная с версии 1.22
-
config.lastKnownGood.configMap (ConfigMapNodeConfigSource)
ConfigMap — ссылка на ConfigMap узла
ConfigMapNodeConfigSource содержит информацию для ссылки на ConfigMap в качестве источника конфигурации для узла. Этот API устарел начиная с версии 1.22: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
-
config.lastKnownGood.configMap.kubeletConfigKey (string), требуется
KubeletConfigKey объявляет, какой ключ из указанного ConfigMap соответствует структуре KubeletConfiguration. Это поле необходимо во всех случаях.
-
config.lastKnownGood.configMap.name (string), требуется
Name — metadata.name указанного ConfigMap. Это поле необходимо во всех случаях.
-
config.lastKnownGood.configMap.namespace (string), требуется
Namespace — metadata.namespace указанного ConfigMap. Это поле необходимо во всех случаях.
-
config.lastKnownGood.configMap.resourceVersion (string)
ResourceVersion — metadata.ResourceVersion указанного ConfigMap. Это поле запрещено в Node.Spec и обязательно в Node.Status.
-
config.lastKnownGood.configMap.uid (string)
UID — metadata.UID указанного ConfigMap. Это поле запрещено в Node.Spec и обязательно в Node.Status.
-
-
-
-
daemonEndpoints (NodeDaemonEndpoints)
Конечные точки демонов, запущенных на узле.
NodeDaemonEndpoints перечисляет порты, открытые демонами, работающими на узле.
-
daemonEndpoints.kubeletEndpoint (DaemonEndpoint)
Конечная точка, на которой прослушивает Kubelet.
DaemonEndpoint содержит информацию об одной конечной точке демона.
-
daemonEndpoints.kubeletEndpoint.Port (int32), требуется
Номер порта данной конечной точки.
-
-
-
images ([]ContainerImage)
Список контейнерных образов на этом узле
Описание контейнерного образа
-
images.names ([]string)
Имена, под которыми известен этот образ. Например: ["kubernetes.example/hyperkube:v1.0.7", "cloud-vendor.registry.example/cloud-vendor/hyperkube:v1.0.7"]
-
images.sizeBytes (int64)
Размер образа в байтах.
-
-
nodeInfo (NodeSystemInfo)
Набор идентификаторов/UUID для уникальной идентификации узла. Дополнительная информация: https://kubernetes.io/docs/concepts/nodes/node/#info
NodeSystemInfo — это набор идентификаторов/UUID для уникальной идентификации узла.
-
nodeInfo.architecture (string), требуется
Архитектура, сообщенная узлом
-
nodeInfo.bootID (string), требуется
Идентификатор загрузки, сообщенный узлом.
-
nodeInfo.containerRuntimeVersion (string), требуется
Версия контейнерного времени выполнения, сообщенная узлом через удаленный API времени выполнения (например, containerd://1.4.2).
-
nodeInfo.kernelVersion (string), требуется
Версия ядра, сообщенная узлом из 'uname -r' (например, 3.16.0-0.bpo.4-amd64).
-
nodeInfo.kubeProxyVersion (string), требуется
Версия KubeProxy, сообщенная узлом.
-
nodeInfo.kubeletVersion (string), требуется
Версия Kubelet, сообщенная узлом.
-
nodeInfo.machineID (string), требуется
MachineID, сообщенный узлом. Для уникальной идентификации машины в кластере предпочтительнее использовать это поле. Дополнительная информация в man(5) machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html
-
nodeInfo.operatingSystem (string), требуется
Операционная система, сообщенная узлом
-
nodeInfo.osImage (string), требуется
Изображение ОС, сообщенное узлом из /etc/os-release (например, Debian GNU/Linux 7 (wheezy)).
-
nodeInfo.systemUUID (string), требуется
SystemUUID, сообщенный узлом. Для уникальной идентификации машины предпочтительнее использовать MachineID. Это поле специфично для хостов Red Hat https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid
-
-
phase (string)
NodePhase — это недавно наблюдаемая фаза жизненного цикла узла. Дополнительная информация: https://kubernetes.io/docs/concepts/nodes/node/#phase Поле никогда не заполняется и теперь устарело.
-
volumesAttached ([]AttachedVolume)
Список томов, прикрепленных к узлу.
AttachedVolume описывает том, прикрепленный к узлу
-
volumesAttached.devicePath (string), требуется
DevicePath представляет собой путь к устройству, где должен быть доступен том
-
volumesAttached.name (string), требуется
Имя прикрепленного тома
-
-
volumesInUse ([]string)
Список прикрепляемых томов, используемых (смонтированных) узлом.
NodeList
NodeList — это весь список всех узлов, которые были зарегистрированы у мастера.
-
apiVersion: v1
-
kind: NodeList
-
metadata (ListMeta)
Стандартные метаданные списка. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
items ([]Node), требуется
Список узлов
© 2022 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2022 The Linux Foundation ®. All rights reserved.
https://v1-28.docs.kubernetes.io/docs/reference/kubernetes-api/cluster-resources/node-v1/