Spec-Zone.ru › Kubernetes 1.27

Узел

Узел — это рабочий узел в 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 указывает источник конфигурации узла. Ровно одно подполе (за исключением 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 для примера. Потребители должны предполагать, что адреса могут изменяться в течение жизненного цикла узла. Однако есть некоторые исключения, когда это может быть невозможно, например, для Pod, которые наследуют адрес узла в своём состоянии, или для потребителей 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)

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

    Conditions — массив текущих наблюдаемых условий узла. Дополнительная информация: 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 определяет источник конфигурации узла. Ровно одно подполе (исключая метаданные) должно быть непустым. Этот 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 конфигурацией Active, загрузив и проверив сохраненное содержимое, идентифицируемое Assigned.

      NodeConfigSource определяет источник конфигурации узла. Ровно одно подполе (исключая метаданные) должно быть непустым. Этот 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 определяет источник конфигурации узла. Ровно одно подполе (исключая метаданные) должно быть непустым. Этот 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-27.docs.kubernetes.io/docs/reference/kubernetes-api/cluster-resources/node-v1/

Spec-Zone.ru

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