Redis-оператор на Golang, предназначенный для развёртывания и управления Redis в режимах standalone, cluster, replication и sentinel поверх Kubernetes. Он позволяет настраивать Redis по лучшим практикам как в облачных средах, так и на bare-metal-серверах. Помимо этого, оператор включает встроенный мониторинг на основе redis-exporter.
Документация доступна по адресу: https://redis-operator.opstree.dev/
Организации, использующие Redis Operator для управления своими Redis-нагрузками, перечислены здесь. Если ваша организация тоже использует Redis Operator, не стесняйтесь добавить её через pull request.
Оператор поддерживает только версии Redis >=6.
Архитектура
Назначение
При развёртывании Redis в Kubernetes, особенно в режиме кластера, возникает немало трудностей. Этот оператор создавался для того, чтобы предоставить простой и готовый к промышленной эксплуатации интерфейс для настройки Redis, охватывающий лучшие практики, средства защиты, мониторинг и управление.
Поддерживаемые возможности
Оператор поддерживает следующие функции:
-
Настройка Redis в режимах standalone, cluster, replication и sentinel
-
Переключение при сбое (failover) и восстановление кластера Redis
-
Встроенный мониторинг с помощью redis-exporter
-
Развёртывание Redis с паролем и без него
-
Поддержка TLS для дополнительного уровня безопасности
-
Поддержка IPv4 и IPv6 для Redis
-
Подробный дашборд мониторинга в Grafana
Ознакомьтесь с разделом Установка, чтобы развернуть первый кластер с помощью оператора.
Совместимость образов
Оператор поддерживает Redis версий >=6.x. Тем не менее настоятельно рекомендуется использовать последнюю стабильную версию, чтобы получить актуальные исправления безопасности и патчи от upstream.
Образы контейнеров:
-
Redis:
quay.io/opstree/redis -
Sentinel:
quay.io/opstree/redis-sentinel -
Exporter:
quay.io/opstree/redis-exporter
Мониторинг с помощью Prometheus
Для отслеживания производительности Redis используется Prometheus. Дополнительная настройка Prometheus при этом не требуется — применяется механизм service discovery (обнаружения служб). Для этого уже заданы следующие аннотации:
annotations:
redis.opstreelabs.in: "true"
prometheus.io/scrape: "true"
prometheus.io/port: "9121"
Помимо аннотаций, для каждой установки Redis можно развернуть ServiceMonitor — это настраивается через файл значений Helm.
Участие в разработке
Подробности — в файле CONTRIBUTING.md.
История релизов
Подробности — в разделе История релизов.
Контактная информация
Проект поддерживается компанией OpsTree Solutions. По любым вопросам и предложениям пишите на opensource@opstree.com.
Присоединяйтесь к нашему Slack-каналу: #redis-operator.