Изменить класс хранилища GKE без потери содержимого - PullRequest
0 голосов
/ 14 июля 2020

Я унаследовал GKE на основе terraform / helm с набором развертываний и сервисов в производственной среде. Все они используют класс хранения по умолчанию как PV C.

Я хотел бы переключиться на более надежный способ хранения (сохранение по умолчанию или даже Filestore + NFS). Мне было интересно, есть ли способ переключить класс хранилища на более новые без потери или вручную переместить содержимое из самых старых томов по умолчанию. Это, в конечном итоге, использует terraform и обновляет диаграммы Helm для согласованности.

Есть ли способ сделать это?

1 Ответ

2 голосов
/ 15 июля 2020

Вы не можете изменить свой StorageClass на другой и ожидать, что данные не будут потеряны.

Подумайте о своем StorageClass как о способе сообщить Kubernetes, какие доступные варианты хранения для использования. У вас может быть хранилище NFS и хранилище Ceph. Изменение StorageClass на PVC, в котором хранятся ваши данные, не приведет к переносу данных в новое место.

Вы даже не сможете изменить большинство параметров в уже созданном StorageClasses и PVC's.

Вы можете узнать об этом подробнее, перейдя по ссылкам ниже:

Мне было интересно, есть ли способ переключить класс хранилища на более новый без потери (данные, которые я предполагаю)

Как было сказано ранее, это невозможно просто изменить StorageClass на другой.

или вручную переместить содержимое из самых старых томов по умолчанию.

Да, это возможно и есть есть несколько способов сделать это. Точная ситуация, с которой вы столкнулись, нам неизвестна (какие именно ресурсы у вас есть, данные о них, способ их развертывания и т. Д. c.).

Пожалуйста, ознакомьтесь с ресурсами ниже:

Вы можете использовать приведенный выше пример с копированием файлов между PVC's, чтобы создать Job, который сделает это автоматически.

Это в конечном итоге с использованием терраформирования и обновления диаграмм управления для согласованности.

Если вы хотите создать свои ресурсы, поддерживающие новое хранилище, которое вы настроили , это возможно. Вам нужно будет изменить существующие ресурсы / создать новые ресурсы для поддержки новых хранилищ. Убедитесь, что вы протестировали свое решение перед его использованием в производственной среде.

...