Ця стаття була опублікована більше року тому. Старіші статті можуть містити застарілу інформацію. Перевірте, чи інформація на цій сторінці не втратила актуальності з моменту її публікації.
Kubernetes 1.33: Заповнювачі томів стають загальнодоступними (GA)
Заповнювачі томів у Kubernetes тепер загальнодоступні (GA)! Функціональна можливість AnyVolumeDataSource вважається завжди увімкненою у Kubernetes v1.33, що означає, що користувачі можуть вказати будь-який відповідний власний ресурс як джерело даних для PersistentVolumeClaim (PVC).
Приклад використання dataSourceRef у PVC:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc1
spec:
...
dataSourceRef:
apiGroup: provider.example.com
kind: Provider
name: provider1
Що нового
У порівнянні з бета-версією є чотири основні покращення.
Pod заповнювача необовʼязковий
Під час бета-версії учасники проєкту Kubernetes виявили потенційні витоки ресурсів при видаленні PersistentVolumeClaim (PVC) під час заповнення тома; ці витоки траплялися через обмеження в роботі з завершувачами. Напередодні переходу до стану загальної доступності проєкт Kubernetes додав підтримку видалення тимчасових ресурсів (PVC prime тощо), якщо видалено первинний PVC.
Для цього ми створили три нові функції на основі втулків:
PopulateFn(): Виконує логіку заповнення даних, специфічну для провайдера.PopulateCompleteFn(): Перевіряє, чи успішно завершилася операція заповнення даних.PopulateCleanupFn(): Очищає тимчасові ресурси, створені функціями, специфічними для провайдера, після завершення заповнення даних
Приклад для провайдера додано до lib-volume-populator/example.
Функції-мутатори для модифікації ресурсів Kubernetes
Для GA, код контролера CSI для керування заповненням томів отримав MutatorConfig, що дозволяє визначати функції-мутатори для модифікації ресурсів Kubernetes. Наприклад, якщо PVC prime не є точною копією PVC і вам потрібна інформація для драйвера, специфічна для провайдера, ви можете включити цю інформацію у необовʼязковий MutatorConfig. Це дозволить вам налаштовувати обʼєкти Kubernetes у заповнювачі томів.
Гнучка обробка метрик для постачальників
Наша бета-версія виявила нову вимогу: необхідність агрегувати метрики не лише з lib-volume-populator, але й з інших компонентів у кодовій базі провайдера.
Щоб розвʼязати цю проблему, SIG Storage запровадила менеджер метрик провайдера. Це вдосконалення делегує реалізацію логіки метрик самому провайдеру, а не покладається виключно на lib-volume-populator. Ця зміна забезпечує більшу гнучкість і контроль над збором та агрегацією метрик, що дає змогу отримати більш повне уявлення про продуктивність провайдера.
Очищення для тимчасових ресурсів
Під час бета-версії ми виявили потенційні витоки ресурсів при видаленні PersistentVolumeClaim (PVC) під час заповнення тома через обмеження в роботі з завершувачами. Ми вдосконалили заповнювач в цьому випуску GA, щоб він підтримував видалення тимчасових ресурсів (PVC prime тощо), якщо початковий PVC видалено.
Як користуватися
Щоб спробувати, будь ласка, дотримуйтесь інструкцій з попереднього допису про бета-версію.
Майбутні напрямки та потенційні запити на нові можливості
Для наступного кроку є кілька потенційних запитів на нові можливості заповнювача томів:
- Багаторазова синхронізація: поточна реалізація передбачає одноразову односпрямовану синхронізацію від джерела до місця призначення. Її можна розширити для підтримки багаторазової синхронізації, увімкнувши періодичну синхронізацію або дозволивши користувачам виконувати синхронізацію на вимогу
- Двонапрямна синхронізація: розширення багаторазової синхронізації, описаної вище, але з двонапрямною синхронізацією між джерелом і пунктом призначення
- Заповнення даних з пріоритетами: зі списком різних dataSourceRef, заповнення на основі пріоритетів
- Заповнення даних з декількох джерел одного постачальника: заповнення декількох різних джерел до одного місця призначення
- Заповнення даних з декількох джерел різних постачальників: заповнення з декількох різних джерел до одного місця призначення, обʼєднуючи заповнення з різних ресурсів в один конвеєр
Щоб переконатися, що ми створюємо щось справді цінне, Kubernetes SIG Storage буде радий почути про будь-які конкретні випадки використання цієї можливості, які ви маєте на увазі. Якщо у вас виникли загальні або конкретні запитання, повʼязані із заповнювачем томів, звертайтеся до спільноти SIG Storage.