CSIStorageCapacity
apiVersion: storage.k8s.io/v1
import "k8s.io/api/storage/v1"
CSIStorageCapacity
CSIStorageCapacity хранит результат одного вызова CSI GetCapacity. Для данного StorageClass он описывает доступную емкость в определенном топологическом сегменте. Это может быть полезно при рассмотрении того, где следует создать новые PersistentVolumes.
Например, это может выражать такие вещи: - StorageClass «standard» имеет «1234 GiB» доступной емкости в «topology.kubernetes.io/zone=us-east1» - StorageClass «localssd» имеет «10 GiB» доступной емкости в «kubernetes.io/hostname=knode-abc123»
Следующие три случая все подразумевают, что доступная емкость отсутствует для определенного сочетания: - нет объекта с подходящей топологией и именем StorageClass - такой объект существует, но емкость не задана - такой объект существует, но емкость равна нулю
Производитель этих объектов может решить, какой подход более подходит.
Они потребляются kube-scheduler, когда CSI-драйвер выбирает планирование с учетом емкости с помощью CSIDriverSpec.StorageCapacity. Планировщик сравнивает MaximumVolumeSize с запрошенным размером ожидаемых томов, чтобы отфильтровать непригодные узлы. Если MaximumVolumeSize не задан, он возвращается к сравнению с менее точной Capacity. Если и это не задано, планировщик предполагает, что емкость недостаточна, и пытается найти другой узел.
-
apiVersion: storage.k8s.io/v1
-
kind: CSIStorageCapacity
-
metadata (ObjectMeta)
Стандартные метаданные объекта. Имя не имеет особого значения. Оно должно быть поддоменом DNS (допускаются точки, 253 символа). Чтобы избежать конфликтов с другими CSI-драйверами в кластере, рекомендуется использовать csisc-<uuid>, сгенерированное имя или имя обратного домена, которое заканчивается уникальным именем CSI-драйвера.
Объекты имеют namespace.
Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
-
storageClassName (строка), обязательно
Имя StorageClass, к которому относится сообщаемая емкость. Оно должно соответствовать тем же требованиям, что и имя объекта StorageClass (не пустое, домен DNS). Если этот объект больше не существует, объект CSIStorageCapacity устарел и должен быть удален его создателем. Это поле неизменяемо.
-
capacity (Quantity)
Capacity — значение, сообщенное CSI-драйвером в его GetCapacityResponse для GetCapacityRequest с топологией и параметрами, которые соответствуют предыдущим полям.
Семантика в настоящее время (спецификация CSI 1.2) определена как: доступная емкость в байтах хранилища, которое можно использовать для резервирования томов. Если не задано, эта информация в настоящее время недоступна.
-
maximumVolumeSize (Quantity)
MaximumVolumeSize — значение, сообщенное CSI-драйвером в его GetCapacityResponse для GetCapacityRequest с топологией и параметрами, которые соответствуют предыдущим полям.
Это определено с момента выпуска спецификации CSI 1.4.0 как наибольший размер, который может быть использован в поле CreateVolumeRequest.capacity_range.required_bytes для создания тома с теми же параметрами, что и в GetCapacityRequest. Соответствующее значение в API Kubernetes — ResourceRequirements.Requests в запросе на том.
-
nodeTopology (LabelSelector)
NodeTopology определяет, какие узлы имеют доступ к хранилищу, для которого была сообщена емкость. Если не задано, хранилище недоступно ни с одного узла в кластере. Если пусто, хранилище доступно со всех узлов. Это поле неизменяемо.
CSIStorageCapacityList
CSIStorageCapacityList — коллекция объектов CSIStorageCapacity.
-
apiVersion: storage.k8s.io/v1
-
kind: CSIStorageCapacityList
-
metadata (ListMeta)
Стандартные метаданные списка. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
-
items ([]CSIStorageCapacity), обязательно
Map: уникальные значения в ключе name будут сохранены во время слияния
Items — список объектов CSIStorageCapacity.
© 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-storage-capacity-v1/