clickhouse_backup
Ansible Роль: Резервное копирование ClickHouse
Ansible роль, управляющая установкой и настройкой инструмента резервного копирования ClickHouse.
Переменные роли
Доступные переменные перечислены и описаны с указанием значений по умолчанию в defaults/main.yml.
Зависимости
Отсутствуют.
Пример Playbook
- hosts: all
roles:
- { role: nl2go.clickhouse_backup }
vars:
clickhouse_backup_version: 0.5.2
clickhouse_backup_general_remote_storage: gcs
clickhouse_backup_gcs_credentials_json: !vault |
$ANSIBLE_VAULT;1.2;AES256;production
1234xxx...
clickhouse_backup_gcs_bucket: clickhouse-backup-bucket
clickhouse_backup_gcs_path: "clickhouse"
clickhouse_backup_clickhouse_host: "{{ ansible_default_ipv4.address }}"
clickhouse_backup_clickhouse_password: 123SECURE
Установка cronjob для выполнения резервного копирования
Роль содержит задачи для автоматической настройки 3 cron задач, которые выполняют резервное копирование регулярно. Установку этих cron задач можно контролировать, установив переменную clickhouse_backup_install_crontab
, которая по умолчанию равна true
. Настройка по умолчанию будет выполнять ежедневные, еженедельные и ежемесячные резервные копирования. Количество резервных копий, которые следует хранить в удаленном хранилище для каждого типа резервного копирования, можно контролировать с помощью переменных:
clickhouse_backup_general_backups_to_keep_remote_daily: 7
clickhouse_backup_general_backups_to_keep_remote_weekly: 4
clickhouse_backup_general_backups_to_keep_remote_monthly: 12
Указанные здесь числа — это значения по умолчанию.
Разработка
Используйте docker-molecule следуя инструкциям для запуска Molecule или установите Molecule локально (не рекомендуется, могут возникнуть конфликты версий).
Предоставьте токен Hetzner Cloud:
export HCLOUD_TOKEN=123abc456efg
Предоставьте пользовательский или расшифруйте существующий файл учетных данных GCS:
export CI_FILE_SECRET=123
openssl aes-256-cbc -d \
-in molecule/resources/clickhouse-backup-gcs-credentials.json.enc \
-out molecule/resources/clickhouse-backup-gcs-credentials.json \
-md sha256 \
-k ${CI_FILE_SECRET}
Используйте следующее для запуска тестов:
molecule test --all
Ответственные
Лицензия
Смотрите файл LICENSE.md для получения подробной информации.
Информация об авторе
Эта роль была создана в 2020 году компанией Newsletter2Go GmbH.
An Ansible Role that manages installation and configuration of the ClickHouse backup tool clickhouse-backup
ansible-galaxy install nl2go/ansible-role-clickhouse-backup