Назад | Перейти на главную страницу

Восстановление дампа SQL в работающем развертывании Kubernetes

TL; DR: Я полагаю, что есть способ временно отключить доступ к модулю / службе, чтобы можно было провести техническое обслуживание. В этом случае: заблокируйте доступ к базе данных, чтобы можно было восстановить дамп.

$ kubectl exec podwith-postgresql-59b77ffb7d-fc4xj dropdb dbname
dropdb: database removal failed: ERROR:  database "dbname" is being accessed by other users
DETAIL:  There are 10 other sessions using the database.

Простое масштабирование ReplicaSets до 0 или уничтожение Pod'ов не увенчались успехом, поскольку Kubernetes (или Helm?) Хорошо справляется с восстановлением данных.

Задний план: В частности, я обновлял диаграмму Helm, которая зависит от диаграммы Postgresql как базы данных по умолчанию. Я проявил должное усердие и сделал дамп базы данных sql перед попыткой обновления. И, yadayadayada, материал поразил меня, и я хотел бы восстановить дамп, но поскольку была создана новая пустая база данных и приложение уже запущено, я не могу удалить или заменить существующую базу данных, поскольку к ней есть активные подключения.