Информация о Valkey для Forgejo
Обзор
Этот документ охватывает всё, что вам нужно знать о готовом к эксплуатации 6-узловом кластере Valkey, используемом Forgejo (и любым другим приложением).
Контактная информация
- Владелец
-
Команда инфраструктуры Fedora
- Контакты
-
#fedora-admin, sysadmin-main, sysadmin-forge
- Назначение
-
Предоставление базовой ориентации и введения в группу sysadmin
Требования
-
Администрирование Forgejo требует наличия группы
sysadmin-openshift, а также доступаsysadmin-mainдля доступа к машинамos-control.
Обзор кластера
Установка кластера Valkey выполняется с помощью задачи/конфигурации, содержащейся в роли Ansible Forgejo. Возможно, стоит выделить это в отдельную роль, если Valkey окажется полезным и в других частях инфраструктуры.
3 главных узла + 3 реплики (по одной реплике на каждый главный узел)
-
Полное покрытие слотов (16384 слота)
-
Автоматическое переключение при отказе (повышение реплики до главной < 30 с)
-
Нет единой точки отказа
valkey-0.forgejo.default.svc.cluster.local:6379 (главный) valkey-1.forgejo.default.svc.cluster.local:6379 (главный) valkey-2.forgejo.default.svc.cluster.local:6379 (главный) valkey-3.forgejo.default.svc.cluster.local:6379 (реплика 0) valkey-4.forgejo.default.svc.cluster.local:6379 (реплика 1) valkey-5.forgejo.default.svc.cluster.local:6379 (реплика 2)
Почему все 6 узлов? → Максимальная устойчивость при запуске приложения и во время поэтапных перезапусков.
Пример Forgejo app.ini
Эти значения редактируются в файле roles/openshift-apps/forgejo/templates/values.yml. Запустите плейбук playbooks/openshift-apps/forgejo.yml, чтобы применить изменения.
cache:
TYPE: redis
CONN_STR: "redis+cluster://:{{ (env == 'production') | ternary(forgejo_valkey_password, forgejo_stg_valkey_password) }}@valkey-0.forgejo.default.svc.cluster.local:6379,valkey-1.forgejo.default.svc.cluster.local:6379,valkey-2.forgejo.default.svc.cluster.local:6379,valkey-3.forgejo.default.svc.cluster.local:6379,valkey-4.forgejo.default.svc.cluster.local:6379,valkey-5.forgejo.default.svc.cluster.local:6379/0"
Быстрые проверки работоспособности
# Статус одной строкой
redis-cli -c -h valkey-0.forgejo.default.svc.cluster.local -p 6379 -a MySuperSecret123 cluster info | grep -E 'cluster_state|cluster_known_nodes'
# Полный список узлов
redis-cli -c -h valkey-0.forgejo.default.svc.cluster.local -p 6379 -a MySuperSecret123 cluster nodes
# Тест записи/чтения
redis-cli -c -h valkey-0.forgejo.default.svc.cluster.local -p 6379 -a MySuperSecret123 set grokky:test "meow" EX 60
redis-cli -c -h valkey-5.forgejo.default.svc.cluster.local -p 6379 -a MySuperSecret123 get grokky:test
Примечание о совместимости
Valkey на 100% совместим на уровне протокола с Redis 7.2/8.0. Все инструменты Redis (redis-cli, redis-benchmark, StackExchange.Redis, ioredis, go-redis и т. д.) работают без изменений.
Want to help? Learn how to contribute to Fedora Docs ›