Самый быстрый способ сделать это в python - использовать Pandas (версия 0.16 и выше).
Дамп одной таблицы:
db = sqlite3.connect('database.db')
table = pd.read_sql_query("SELECT * from table_name", db)
table.to_csv(table_name + '.csv', index_label='index')
Дамп всех таблиц:
import sqlite3
import pandas as pd
def to_csv():
db = sqlite3.connect('database.db')
cursor = db.cursor()
cursor.execute("SELECT name FROM sqlite_master WHERE type='table';")
tables = cursor.fetchall()
for table_name in tables:
table_name = table_name[0]
table = pd.read_sql_query("SELECT * from %s" % table_name, db)
table.to_csv(table_name + '.csv', index_label='index')
Предполагая, что вы используете развертывания Kubernetes (или наборы реплик), он должен сделать это за вас. В вашем развертывании настроено заданное количество реплик, которые нужно создать для каждого модуля, когда вы удаляете узел, планировщик увидит, что текущий активный номер меньше требуемого, и создаст новые.
Если вы просто развертываете модули без развертывания, этого не произойдет, и единственное решение - это повторное развертывание вручную, поэтому вы хотите использовать развертывание.
Имейте в виду, что то, что вы создали, это новые модули, вы не перемещаете ранее запущенные модули. Любое состояние, которое у вас было в предыдущих пакетах, которое не сохранялось, исчезнет. Вот как это должно работать.