EKS — Зашифровать текущий PV (EBS Volume)

За основу был взят ответ на gitmemory

Для того, чтобы зашифровать уже созданный EBS Volume, нужно сделать из него снапшот. Затем из созданного снапшота создать диск в том же регионе, что и оригинальный, так же указать KMS ключ для шифрования.

Затем сохраняем манифест текущего PV в файл:

kubectl get pv <PV_NAME> -o yaml > /tmp/pv.yaml

 

Редактируем файл, заменив ID оригинального диска на зашифрованный.

После чего применяем изменения:

kubectl replace --cascade=false --force -f /tmp/pv.yaml

 

Предыдущая команда «застрянет» на выполнении, так ей препятствует параметр «finalizers«, поэтому в соседней вкладке выполняем следующее:

kubectl edit pv <PV_NAME>

 

Находим и удаляем следующее:

  finalizers:
  - kubernetes.io/pv-protection

 

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

 

После чего патчим PVC, к которому относится данная PV:

kubectl patch pvc <PVC_NAME> -p '{"metadata":{"finalizers": []}}' --type=merge

 

Теперь осталось только удалить под, к которому примонтирован PV и убедится, что он пересоздался с примонтированным новым PV. Так же не забываете о правах на использования KMS ключей для IAM роли, которая приатачена EKS воркерам.

Метки: Метки

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии