StorageClass
apiVersion: storage.k8s.io/v1
import "k8s.io/api/storage/v1"
StorageClass
StorageClass описує параметри класу сховища, для якого PersistentVolumes можна динамічно виділяти.
Класи сховищ не мають простору імен; імʼя класу сховища згідно з etcd знаходиться в ObjectMeta.Name.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata (ObjectMeta)
Стандартні метадані обʼєкта. Докладніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
provisioner (string), обовʼязково
provisioner вказує на тип провізора.
allowVolumeExpansion (boolean)
allowVolumeExpansion показує, чи дозволяє клас зберігання розширення тому.
allowedTopologies ([]TopologySelectorTerm)
Atomic: буде замінено під час обʼєднання
allowedTopologies обмежує топологію вузлів, де томи можуть динамічно виділятися. Кожен втулок тому визначає свої власні специфікації топології. Порожній список TopologySelectorTerm означає, що обмежень по топології немає. Це поле враховується лише серверами, які включають функцію VolumeScheduling.
Термін селектора топології представляє результат запитів до міток. Нульовий або порожній термін селектора топології не відповідає жодному обʼєкту. Вимоги до них обʼєднуються за принципом AND. Він надає підмножину функціональності як NodeSelectorTerm. Це альфа-версія функції та в майбутньому вона може змінитися.
allowedTopologies.matchLabelExpressions ([]TopologySelectorLabelRequirement)
Atomic: буде замінено під час злиття
Список вимог до вибору топології за мітками.
Вимога вибору топології — це селектор, що відповідає заданій мітці. Це альфа-функція і може змінитися в майбутньому.
allowedTopologies.matchLabelExpressions.key (string), обовʼязково
Ключ мітки, до якого застосовується селектор.
allowedTopologies.matchLabelExpressions.values ([]string), обовʼязково
Atomic: буде замінено під час злиття
Масив рядкових значень. Одне значення повинно відповідати мітці для вибору. Кожен запис у Values поєднується оператором OR.
mountOptions ([]string)
Atomic: буде замінено під час злиття
mountOptions контролює параметри монтування для динамічно виділених PersistentVolumes цього класу зберігання. Наприклад, ["ro", "soft"]. Не перевіряється — монтування PVs просто не вдасться, якщо один з них недійсний.
parameters (map[string]string)
parameters містить параметри для провайдера, який повинен створити томи цього класу зберігання.
reclaimPolicy (string)
reclaimPolicy контролює політику відновлення для динамічно виділених PersistentVolumes цього класу зберігання. Стандартне значення — Delete.
Можливі значення enum:
"Delete"означає, що том буде видалено з Kubernetes після звільнення від його заявки. Втулок тому повинен підтримувати видалення."Recycle"означає, що том буде перероблений назад у пул незвʼязаних постійних томів після звільнення від його заявки. Втулок тому повинен підтримувати переробку."Retain"означає, що том залишиться у своєму поточному стані (Released) для ручного відновлення адміністратором. Політика за замовчуванням — Retain.
volumeBindingMode (string)
volumeBindingMode вказує, як PersistentVolumeClaims повинні виділятися та звʼязуватися. Якщо не встановлено, використовується VolumeBindingImmediate. Це поле враховується лише серверами, які включають функцію VolumeScheduling.
Можливі значення enum:
"Immediate"означає, що PersistentVolumeClaims повинні бути негайно виділені та звʼязані. Це стандартний режим."WaitForFirstConsumer"означає, що PersistentVolumeClaims не повинні виділятися та звʼязуватися до тих пір, поки не буде створено перший Pod, який посилається на PersistentVolumeClaim. Виділення та звʼязування томів відбудеться під час планування Podʼа.
StorageClassList
StorageClassList — це колекція класів зберігання.
apiVersion: storage.k8s.io/v1
kind: StorageClassList
metadata (ListMeta)
Стандартні метадані списку. Докладніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
items ([]StorageClass), обовʼязкове
items — це список StorageClasses.
Операції
get отримати вказаний StorageClass
HTTP запит
GET /apis/storage.k8s.io/v1/storageclasses/{name}
Параметри
name (в шляху): string, обовʼязково
імʼя StorageClass
pretty (в запиті): string
Відповідь
200 (StorageClass): OK
401: Unauthorized
list перелік або перегляд обʼєктів типу StorageClass
HTTP запит
GET /apis/storage.k8s.io/v1/storageclasses
Параметри
allowWatchBookmarks (в запиті): boolean
continue (в запиті): string
fieldSelector (в запиті): string
labelSelector (в запиті): string
limit (в запиті): integer
pretty (в запиті): string
resourceVersion (в запиті): string
resourceVersionMatch (в запиті): string
sendInitialEvents (в запиті): boolean
shardSelector (в запиті): string
timeoutSeconds (в запиті): integer
watch (в запиті): boolean
Відповідь
200 (StorageClassList): OK
401: Unauthorized
create створення StorageClass
HTTP запит
POST /apis/storage.k8s.io/v1/storageclasses
Параметри
body: StorageClass, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
Відповідь
200 (StorageClass): OK
201 (StorageClass): Created
202 (StorageClass): Accepted
401: Unauthorized
update заміна вказаного StorageClass
HTTP запит
PUT /apis/storage.k8s.io/v1/storageclasses/{name}
Параметри
name (в шляху): string, обовʼязково
імʼя StorageClass
body: StorageClass, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
Відповідь
200 (StorageClass): OK
201 (StorageClass): Created
401: Unauthorized
patch часткове оновлення вказаного StorageClass
HTTP запит
PATCH /apis/storage.k8s.io/v1/storageclasses/{name}
Параметри
name (в шляху): string, обовʼязково
імʼя StorageClass
body: Patch, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
force (в запиті): boolean
pretty (в запиті): string
Відповідь
200 (StorageClass): OK
201 (StorageClass): Created
401: Unauthorized
delete видалення StorageClass
HTTP запит
DELETE /apis/storage.k8s.io/v1/storageclasses/{name}
Параметри
name (в шляху): string, обовʼязково
імʼя StorageClass
body: DeleteOptions
dryRun (в запиті): string
gracePeriodSeconds (в запиті): integer
ignoreStoreReadErrorWithClusterBreakingPotential (в запиті): boolean
pretty (в запиті): string
propagationPolicy (в запиті): string
Відповідь
200 (StorageClass): OK
202 (StorageClass): Accepted
401: Unauthorized
deletecollection видалення колекції StorageClass
HTTP запит
DELETE /apis/storage.k8s.io/v1/storageclasses
Параметри
body: DeleteOptions
continue (в запиті): string
dryRun (в запиті): string
fieldSelector (в запиті): string
gracePeriodSeconds (в запиті): integer
ignoreStoreReadErrorWithClusterBreakingPotential (в запиті): boolean
labelSelector (в запиті): string
limit (в запиті): integer
pretty (в запиті): string
propagationPolicy (в запиті): string
resourceVersion (в запиті): string
resourceVersionMatch (в запиті): string
sendInitialEvents (в запиті): boolean
shardSelector (в запиті): string
timeoutSeconds (в запиті): integer
Відповідь
200 (Status): OK
401: Unauthorized