CSINode
apiVersion: storage.k8s.io/v1
import "k8s.io/api/storage/v1"
CSINode
CSINode содержит информацию обо всех установленных драйверах CSI на узле. Драйверам CSI не нужно создавать объект CSINode напрямую. Достаточно, чтобы они использовали контейнер sidecar 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), обязательно
Стратегия патчинга: слияние по ключу
namedrivers — это список информации обо всех драйверах CSI, существующих на узле. Если все драйверы в списке удалены, список может стать пустым.
CSINodeDriver содержит информацию о спецификации одного установленного драйвера CSI на узле
-
drivers.name (string), обязательно
Это имя драйвера CSI, на которое ссылается этот объект. Оно ДОЛЖНО совпадать с именем, возвращаемым вызовом CSI GetPluginName() для этого драйвера.
-
drivers.nodeID (string), обязательно
nodeID узла с точки зрения драйвера. Это поле позволяет Kubernetes взаимодействовать с системами хранения, которые не используют одинаковую номенклатуру узлов. Например, Kubernetes может ссылаться на узел как на "node1", а система хранения — как на "nodeA". Когда Kubernetes отправляет команду системе хранения для подключения тома к определенному узлу, это поле используется для ссылки на имя узла с помощью понимаемого системой хранения ID, например, "nodeA" вместо "node1". Это поле обязательно.
-
drivers.allocatable (VolumeNodeResources)
allocatable представляет доступные ресурсы томов узла для планирования. Это поле находится в стадии бета-тестирования.
VolumeNodeResources — это набор ограничений ресурсов для планирования томов.
-
drivers.allocatable.count (int32)
Максимальное количество уникальных томов, управляемых драйвером 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
© 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/config-and-storage-resources/csi-node-v1/