CSINode
apiVersion: storage.k8s.io/v1
import "k8s.io/api/storage/v1"
CSINode
CSINode хранит информацию обо всех установленных драйверах CSI на узле. Драйверы CSI не должны создавать объект CSINode напрямую. Достаточно, если они используют контейнер-сайдкар node-driver-registrar, kubelet автоматически заполнит объект CSINode для драйвера CSI как часть регистрации плагина kubelet. CSINode имеет то же имя, что и узел. Если объект отсутствует, это означает, что либо драйверы CSI отсутствуют на узле, либо версия Kubelet недостаточно новая для создания этого объекта. CSINode имеет OwnerReference, который указывает на соответствующий объект узла.
apiVersion: storage.k8s.io/v1
kind: CSINode
-
metadata (ObjectMeta)
Стандартные метаданные объекта. metadata.name должен соответствовать имени узла Kubernetes.
-
spec (CSINodeSpec), обязательное поле
spec — это описание CSINode
CSINodeSpec
CSINodeSpec содержит информацию о спецификации всех драйверов CSI, установленных на узле
-
drivers ([]CSINodeDriver), обязательное поле
Стратегия патчинга: слияние по ключу
nameКарта: уникальные значения по ключу name будут сохранены во время слияния
drivers — это список информации обо всех драйверах CSI, присутствующих на узле. Если все драйверы в списке будут удалены, этот список может стать пустым.
CSINodeDriver содержит информацию о спецификации одного установленного драйвера CSI на узле
-
drivers.name (строка), обязательное поле
name представляет имя драйвера CSI, к которому относится этот объект. Это ДОЛЖНО быть тем же именем, которое возвращается вызовом CSI GetPluginName() для этого драйвера.
-
drivers.nodeID (строка), обязательное поле
nodeID узла с точки зрения драйвера. Это поле позволяет Kubernetes взаимодействовать с системами хранения, которые не используют одинаковую номенклатуру для узлов. Например, Kubernetes может обозначать узел как "node1", а система хранения — как "nodeA". Когда Kubernetes отправляет команду системе хранения прикрепить том к определённому узлу, она может использовать это поле для обозначения имени узла с использованием ID, понятного системе хранения, например, "nodeA" вместо "node1". Это поле обязательно.
-
drivers.allocatable (VolumeNodeResources)
allocatable представляет собой объём ресурсов узла, доступные для планирования. Это бета-поле.
VolumeNodeResources — это набор ограничений ресурсов для планирования томов.
-
drivers.allocatable.count (int32)
count указывает максимальное количество уникальных томов, управляемых драйвером CSI, которые могут быть использованы на узле. Том, который прикреплён и смонтирован на узле, считается использованным один раз, а не дважды. То же правило применяется к уникальному тому, используемому несколькими поддосами на одном узле. Если это поле не указано, то количество поддерживаемых томов на этом узле не ограничено.
-
-
drivers.topologyKeys ([]string)
Атомарно: будет заменено во время слияния
topologyKeys — это список ключей, поддерживаемых драйвером. Когда драйвер инициализируется в кластере, он предоставляет набор ключей топологии, которые он понимает (например, "company.com/zone", "company.com/region"). Когда драйвер инициализируется на узле, он предоставляет те же ключи топологии вместе со значениями. Kubelet будет отображать эти ключи топологии в виде меток на собственном объекте узла. Когда Kubernetes выполняет планирование с учётом топологии, он может использовать этот список для определения, какие метки нужно извлечь из объекта узла и передать драйверу. Возможно, что различные узлы используют разные ключи топологии. Если драйвер не поддерживает топологию, этот список может быть пустым.
-
CSINodeList
CSINodeList — это коллекция объектов CSINode.
apiVersion: storage.k8s.io/v1
kind: CSINodeList
-
metadata (ListMeta)
Стандартные метаданные списка. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
-
items ([]CSINode), обязательное поле
items — это список CSINode
© 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/config-and-storage-resources/csi-node-v1/