Обновлена документация под новые аддоны (gitlab, redis, mongodb, kafka, kafka-ui, rabbitmq) и новую модель явного выбора зависимостей. Добавлены и унифицированы описания переключателей *_database_mode и *_redis_mode, обновлена таблица зависимостей аддонов, примеры конфигурации и список vault-секретов.
MySQL
MySQL (Bitnami) с поддержкой репликации primary/secondary и Prometheus метриками через mysqld_exporter sidecar.
Быстрый старт
# group_vars/all/addons.yml
addon_mysql: true
Секреты в vault.yml:
vault_mysql_root_password: "root-password"
vault_mysql_password: "app-password"
make addon-mysql
Параметры
| Переменная | Умолч. | Описание |
|---|---|---|
mysql_auth_username |
appuser |
Пользователь приложения |
mysql_auth_database |
appdb |
База данных приложения |
mysql_storage_size |
8Gi |
Размер PVC |
mysql_secondary_replica_count |
0 |
Реплики secondary (0 = только primary) |
Подключение из подов
env:
- name: MYSQL_HOST
value: "mysql.mysql.svc.cluster.local"
- name: MYSQL_PORT
value: "3306"
- name: MYSQL_DATABASE
value: "appdb"
- name: MYSQL_USER
value: "appuser"
- name: MYSQL_PASSWORD
valueFrom:
secretKeyRef:
name: mysql
key: mysql-password
Репликация
mysql_secondary_replica_count: 1 # primary + 1 secondary
Primary: mysql-primary.mysql.svc.cluster.local:3306
Secondary (read-only): mysql-secondary.mysql.svc.cluster.local:3306
Создать дополнительные базы
kubectl exec -n mysql statefulset/mysql-primary -- \
mysql -u root -p"$ROOT_PASSWORD" -e "CREATE DATABASE mydb; GRANT ALL ON mydb.* TO 'appuser'@'%';"
Дамп и восстановление
# Дамп
kubectl exec -n mysql statefulset/mysql-primary -- \
mysqldump -u root -p"$ROOT_PASSWORD" appdb > dump.sql
# Восстановление
kubectl exec -i -n mysql statefulset/mysql-primary -- \
mysql -u root -p"$ROOT_PASSWORD" appdb < dump.sql
Использование с Databasus
При addon_databasus: true MySQL автоматически добавляется как источник для резервного копирования.
Официальные ресурсы
- Официальный сайт: https://www.mysql.com/
- Официальная документация: https://dev.mysql.com/doc/
- Версии Helm chart / ПО: https://artifacthub.io/packages/helm/bitnami/mysql