Spec-Zone.ru › Kubernetes 1.27

CSIStorageCapacity

CSIStorageCapacity хранит результат одного вызова CSI GetCapacity.

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"

Следующие три случая все подразумевают, что доступная емкость отсутствует для определенной комбинации: - нет объекта с подходящей топологией и именем storage class - такой объект существует, но емкость не задана - такой объект существует, но емкость равна нулю

Производитель этих объектов может решить, какой подход более подходит.

Они используются kube-scheduler, когда CSI-драйвер выбирает планирование, учитывающее емкость, с помощью CSIDriverSpec.StorageCapacity. Планировщик сравнивает MaximumVolumeSize с запрошенным размером ожидающих томов, чтобы отфильтровать неподходящие узлы. Если MaximumVolumeSize не задан, он переходит к сравниванию с менее точной емкостью Capacity. Если и это не задано, планировщик предполагает, что емкость недостаточна, и пробует другой узел.

  • apiVersion: storage.k8s.io/v1

  • kind: CSIStorageCapacity

  • metadata (ObjectMeta)

    Стандартные метаданные объекта. Имя не имеет конкретного смысла. Оно должно быть доменным поддоменом (допускаются точки, 253 символа). Для избежания конфликтов с другими CSI-драйверами в кластере рекомендуется использовать csisc-<uuid>, сгенерированное имя или имя обратного домена, заканчивающееся уникальным именем CSI-драйвера.

    Объекты имеют пространства имён.

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

  • storageClassName (строка), обязательно

    storageClassName представляет имя StorageClass, к которому относится сообщаемая емкость. Оно должно соответствовать тем же требованиям, что и имя объекта StorageClass (не пустое, доменный поддомен). Если этот объект больше не существует, объект CSIStorageCapacity устарел и должен быть удалён его создателем. Это поле неизменяемо.

  • capacity (Quantity)

    capacity — это значение, сообщённое CSI-драйвером в его GetCapacityResponse для GetCapacityRequest с топологией и параметрами, соответствующими предыдущим полям.

    Семантика в настоящее время (спецификация CSI 1.2) определена следующим образом: доступная ёмкость в байтах хранилища, которое можно использовать для выделения томов. Если не установлено, эта информация в настоящее время недоступна.

  • maximumVolumeSize (Quantity)

    maximumVolumeSize — это значение, сообщённое CSI-драйвером в его GetCapacityResponse для GetCapacityRequest с топологией и параметрами, соответствующими предыдущим полям.

    Определено с версии CSI spec 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-27.docs.kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/csi-storage-capacity-v1/

Spec-Zone.ru

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