Spec-Zone.ru › Kubernetes 1.24

Узел

Узел — это рабочий узел в Kubernetes.

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. Эта функция удалена из Kubelets начиная с версии 1.24 и будет полностью удалена в версии 1.26.

    NodeConfigSource указывает источник конфигурации узла. Ровно одно подполе (за исключением метаданных) должно быть неравно 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 на этом узле. Если это поле указано, первый элемент должен совпадать с полем podCIDR. Оно может содержать не более 1 значения для каждого из IPv4 и IPv6.

  • providerID (string)

    Идентификатор узла, назначенный поставщиком облачных услуг в формате: <НазваниеПоставщика>://<ИдентификаторУзлаПоставщика>

  • 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 Примечание: Это поле объявлено как сливаемое, но ключ слияния недостаточно уникален, что может привести к повреждению данных при слиянии. Вызывающие стороны должны вместо этого использовать полную замену патча. См. http://pr.k8s.io/79391 для примера.

    NodeAddress содержит информацию об адресе узла.

    • addresses.address (строка), обязательно

      Адрес узла.

    • addresses.type (строка), обязательно

      Тип адреса узла, один из 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)

    Стратегия патчинга: слияние по ключу type

    Conditions — массив текущих наблюдаемых состояний узла. Дополнительная информация: https://kubernetes.io/docs/concepts/nodes/node/#condition

    NodeCondition содержит информацию о состоянии узла.

    • conditions.status (строка), обязательно

      Состояние условия, один из True, False, Unknown.

    • conditions.type (строка), обязательно

      Тип состояния узла.

    • conditions.lastHeartbeatTime (Time)

      Последнее время обновления состояния.

      Time — оболочка вокруг time.Time, которая поддерживает правильное преобразование в YAML и JSON. Оболочки предоставляются для многих фабричных методов, предлагаемых пакетом time.

    • conditions.lastTransitionTime (Time)

      Последнее время перехода состояния из одного состояния в другое.

      Time — оболочка вокруг time.Time, которая поддерживает правильное преобразование в YAML и JSON. Оболочки предоставляются для многих фабричных методов, предлагаемых пакетом time.

    • conditions.message (строка)

      Человекопонятное сообщение, указывающее подробности о последнем переходе.

    • conditions.reason (строка)

      (краткое) объяснение последнего перехода состояния.

  • config (NodeConfigStatus)

    Состояние конфигурации, назначенной узлу с помощью функции динамической конфигурации Kubelet.

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

    • config.active (NodeConfigSource)

      Active сообщает о проверенной конфигурации, которую активно использует узел. Active будет представлять либо текущую версию конфигурации Assigned, либо текущую конфигурацию LastKnownGood, в зависимости от того, приведет ли попытка использовать Assigned конфигурацию к ошибке.

      NodeConfigSource определяет источник конфигурации узла. Ровно одно подполе (исключая метаданные) должно быть не-nil. Этот 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 (строка), обязательно

          KubeletConfigKey объявляет, какой ключ сохраненного ConfigMap соответствует структуре KubeletConfiguration. Это поле обязательно во всех случаях.

        • config.active.configMap.name (строка), обязательно

          Имя — это metadata.name сохраненного ConfigMap. Это поле обязательно во всех случаях.

        • config.active.configMap.namespace (строка), обязательно

          Пространство имен — это metadata.namespace сохраненного ConfigMap. Это поле обязательно во всех случаях.

        • config.active.configMap.resourceVersion (строка)

          ResourceVersion — это metadata.ResourceVersion сохраненного ConfigMap. Это поле запрещено в Node.Spec и обязательно в Node.Status.

        • config.active.configMap.uid (строка)

          UID — это metadata.UID сохраненного ConfigMap. Это поле запрещено в Node.Spec и обязательно в Node.Status.

    • config.assigned (NodeConfigSource)

      Assigned сообщает о проверенной конфигурации, которую узел попытается использовать. При обновлении Node.Spec.ConfigSource узел сохраняет связанную конфигурацию в локальном диске, вместе с записью, указывающей предполагаемую конфигурацию. Узел использует эту запись для выбора точки сохранения конфигурации и сообщает об этой записи в Assigned. Assigned обновляет состояние только после сохранения записи на диск. При перезапуске Kubelet он пытается сделать конфигурацию Assigned активной, загрузив и проверив сохраненную информацию, указанную в Assigned.

      NodeConfigSource определяет источник конфигурации узла. Ровно одно подполе (исключая метаданные) должно быть не-nil. Этот 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 (строка), обязательно

          KubeletConfigKey объявляет, какой ключ сохраненного ConfigMap соответствует структуре KubeletConfiguration. Это поле обязательно во всех случаях.

        • config.assigned.configMap.name (строка), обязательно

          Имя — это metadata.name сохраненного ConfigMap. Это поле обязательно во всех случаях.

        • config.assigned.configMap.namespace (строка), обязательно

          Пространство имен — это metadata.namespace сохраненного ConfigMap. Это поле обязательно во всех случаях.

        • config.assigned.configMap.resourceVersion (строка)

          ResourceVersion — это metadata.ResourceVersion сохраненного ConfigMap. Это поле запрещено в Node.Spec и обязательно в Node.Status.

        • config.assigned.configMap.uid (строка)

          UID — это metadata.UID сохраненного ConfigMap. Это поле запрещено в Node.Spec и обязательно в Node.Status.

    • config.error (строка)

      Error описывает любые проблемы при согласовании Spec.ConfigSource с Active конфигурацией. Ошибки могут возникнуть, например, при попытке сохранения Spec.ConfigSource в локальную запись Assigned, при попытке сохранения данных, связанных с Spec.ConfigSource, при попытке загрузки или проверки Assigned конфигурации и т. д. Ошибки могут возникнуть в разные моменты во время синхронизации конфигурации. Более ранние ошибки (например, ошибки загрузки или сохранения) не приведут к откату к LastKnownGood, и они могут быть устранены при повторных попытках Kubelet. Более поздние ошибки (например, ошибки загрузки или проверки сохраненной конфигурации) приведут к откату к LastKnownGood. В последнем случае обычно можно исправить ошибку, исправив конфигурацию, назначенную в Spec.ConfigSource. Дополнительную информацию для отладки можно найти, выполнив поиск сообщения об ошибке в журнале Kubelet. Ошибка — это удобочитаемое описание состояния ошибки; машины могут проверить, пуста ли ошибка, но не должны полагаться на стабильность текста ошибки между версиями Kubelet.

    • config.lastKnownGood (NodeConfigSource)

      LastKnownGood сообщает о проверенной конфигурации, к которой узел вернется, когда столкнется с ошибкой при попытке использовать конфигурацию Assigned. Assigned конфигурация становится LastKnownGood конфигурацией, когда узел определит, что Assigned конфигурация стабильна и корректна. В настоящее время это реализуется как период ожидания 10 минут, начиная с момента обновления локальной записи Assigned конфигурации. Если Assigned конфигурация является Active в конце этого периода, она становится LastKnownGood. Обратите внимание, что если Spec.ConfigSource сброшен до nil (используются локальные значения по умолчанию), LastKnownGood также немедленно сбрасывается до nil, потому что локальная конфигурация по умолчанию всегда считается корректной. Не следует делать предположений о методе узла определения стабильности и правильности конфигурации, поскольку это может измениться или стать настраиваемым в будущем.

      NodeConfigSource определяет источник конфигурации узла. Ровно одно подполе (исключая метаданные) должно быть не-nil. Этот 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 (строка), обязательно

          KubeletConfigKey объявляет, какой ключ сохраненного ConfigMap соответствует структуре KubeletConfiguration. Это поле обязательно во всех случаях.

        • config.lastKnownGood.configMap.name (строка), обязательно

          Имя — это metadata.name сохраненного ConfigMap. Это поле обязательно во всех случаях.

        • config.lastKnownGood.configMap.namespace (строка), обязательно

          Пространство имен — это metadata.namespace сохраненного ConfigMap. Это поле обязательно во всех случаях.

        • config.lastKnownGood.configMap.resourceVersion (строка)

          ResourceVersion — это metadata.ResourceVersion сохраненного ConfigMap. Это поле запрещено в Node.Spec и обязательно в Node.Status.

        • config.lastKnownGood.configMap.uid (строка)

          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)

      Имена, под которыми известен этот образ. Например: ["k8s.gcr.io/hyperkube:v1.0.7", "dockerhub.io/google_containers/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-24.docs.kubernetes.io/docs/reference/kubernetes-api/cluster-resources/node-v1/

Spec-Zone.ru

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