Spec-Zone.ru › Kubernetes

Узел

Узел — это рабочий узел в 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. Эта функция удалена.

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

  • providerID (string)

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

  • taints ([]Taint)

    Атомарно: будет заменено при слиянии

    Если указано, метки узла.

    Узел, к которому прикреплена эта метка, оказывает «воздействие» на любой pod, который не терпит метку.

    • taints.effect (string), обязательный

      Необходимо. Воздействие метки на pod, не терпящие метку. Допустимые воздействия — 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 — это информация о текущем состоянии узла.

  • addresses ([]NodeAddress)

    Patch strategy: merge on key type

    Map: unique values on key type will be kept during a merge

    Список адресов, доступных узлу. Запрашивается у поставщика облачных услуг, если доступен. Подробнее: https://kubernetes.io/docs/concepts/nodes/node/#addresses Примечание: Это поле объявлено как объединяемое, но ключ слияния недостаточно уникален, что может привести к повреждению данных при его слиянии. Вместо этого вызывающие стороны должны использовать исправление полной замены. См. https://pr.k8s.io/79391 для примера. Потребители должны предполагать, что адреса могут изменяться в течение срока службы узла. Однако есть некоторые исключения, когда это может быть невозможно, например, Pod'ы, которые наследуют адрес узла в своем собственном состоянии или потребители нисходящего API (status.hostIP).

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

    • addresses.address (string), required

      Адрес узла.

    • addresses.type (string), required

      Тип адреса узла, один из Hostname, ExternalIP или InternalIP.

  • allocatable (map[string]Quantity)

    Allocatable представляет ресурсы узла, доступные для планирования. По умолчанию используется Capacity.

  • capacity (map[string]Quantity)

    Capacity представляет собой общие ресурсы узла. Подробнее: https://kubernetes.io/docs/reference/node/node-status/#capacity

  • conditions ([]NodeCondition)

    Patch strategy: merge on key type

    Map: unique values on key type will be kept during a merge

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

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

    • conditions.status (string), required

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

    • conditions.type (string), required

      Тип условия узла.

    • 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), required

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

        • config.active.configMap.name (string), required

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

        • config.active.configMap.namespace (string), required

          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.

      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), required

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

        • config.assigned.configMap.name (string), required

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

        • config.assigned.configMap.namespace (string), required

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

    • config.lastKnownGood (NodeConfigSource)

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

      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), required

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

        • config.lastKnownGood.configMap.name (string), required

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

        • config.lastKnownGood.configMap.namespace (string), required

          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), required

        Номер порта данного эндпоинта.

  • features (NodeFeatures)

    Features описывает набор функций, реализованных реализацией CRI.

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

    • features.supplementalGroupsPolicy (boolean)

      SupplementalGroupsPolicy устанавливается в значение true, если runtime поддерживает SupplementalGroupsPolicy и ContainerUser.

  • 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), required

      Архитектура, сообщённая узлом

    • nodeInfo.bootID (string), required

      Boot ID, сообщённый узлом.

    • nodeInfo.containerRuntimeVersion (string), required

      Версия ContainerRuntime, сообщённая узлом через удалённый API runtime (например, containerd://1.4.2).

    • nodeInfo.kernelVersion (string), required

      Версия ядра, сообщённая узлом из 'uname -r' (например, 3.16.0-0.bpo.4-amd64).

    • nodeInfo.kubeProxyVersion (string), required

      Устаревшее поле: Версия KubeProxy, сообщённая узлом.

    • nodeInfo.kubeletVersion (string), required

      Версия Kubelet, сообщённая узлом.

    • nodeInfo.machineID (string), required

      MachineID, сообщённый узлом. Для уникальной идентификации машины в кластере предпочтительнее использовать это поле. Подробнее см. man(5) machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html

    • nodeInfo.operatingSystem (string), required

      Операционная система, сообщённая узлом

    • nodeInfo.osImage (string), required

      Образ ОС, сообщённый узлом из /etc/os-release (например, Debian GNU/Linux 7 (wheezy)).

    • nodeInfo.systemUUID (string), required

      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 Поле никогда не заполняется и теперь устарело.

  • runtimeHandlers ([]NodeRuntimeHandler)

    Атомарно: будет заменено во время слияния

    Доступные обработчики runtime.

    NodeRuntimeHandler — набор информации об обработчике runtime.

    • runtimeHandlers.features (NodeRuntimeHandlerFeatures)

      Поддерживаемые функции.

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

      • runtimeHandlers.features.recursiveReadOnlyMounts (boolean)

        RecursiveReadOnlyMounts устанавливается в значение true, если обработчик runtime поддерживает RecursiveReadOnlyMounts.

      • runtimeHandlers.features.userNamespaces (boolean)

        UserNamespaces устанавливается в значение true, если обработчик runtime поддерживает UserNamespaces, включая для томов.

    • runtimeHandlers.name (string)

      Имя обработчика runtime. Пустая строка для стандартного обработчика runtime.

  • volumesAttached ([]AttachedVolume)

    Атомарно: будет заменено во время слияния

    Список томов, присоединённых к узлу.

    AttachedVolume описывает том, присоединённый к узлу

    • volumesAttached.devicePath (string), required

      DevicePath представляет собой путь к устройству, где должен быть доступен том

    • volumesAttached.name (string), required

      Имя присоединённого тома

  • volumesInUse ([]string)

    Атомарно: будет заменено во время слияния

    Список прикрепляемых томов, используемых (смонтированных) узлом.

Список узлов

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

  • apiVersion: v1

  • kind: NodeList

  • metadata (ListMeta)

    Стандартные метаданные списка. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

  • items ([]Node), required

    Список узлов

© 2024 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2024 The Linux Foundation ®. All rights reserved.
https://kubernetes.io/docs/reference/kubernetes-api/cluster-resources/node-v1/

Spec-Zone.ru

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