• Русский
  • Создание экземпляра

    Следующие версии Redis полностью поддерживаются: 5.0, 6.0, 7.2; другие версии по умолчанию не поддерживаются.

    Рекомендация по версии

    При использовании в производственной среде рекомендуется отдавать предпочтение версии 7.2, затем 6.0.

    1. 7.2 - это версия, которую все еще поддерживает сообщество, она исправляет известные проблемы в 6.0 и 5.0. Версии 6.0 и 5.0 больше не поддерживаются сообществом.
    2. 7.2 полностью совместима с 6.0 и 5.0.
    3. 7.2 значительно улучшила функции ACL.
    4. Использование 5.0 не рекомендуется, так как она не поддерживает такие продвинутые функции, как ACL, и не имеет возможностей управления пользователями; все бизнес-процессы будут использовать один общий пароль, что представляет потенциальные риски безопасности; также для изменения пароля необходимо перезапустить все узлы.
    Рекомендация по архитектуре

    Архитектура с одним узлом не имеет реплик и отсутствует функция переключения на резервный узел, поэтому ее следует использовать только в средах разработки и тестирования. Вы можете выбрать между Архитектурой Sentinel и Кластерной архитектурой в зависимости от потребностей вашего бизнеса в данных и параллелизме.

    Содержание

    Создание экземпляра Redis

    Процедура

    Sentinel CLI
    Cluster CLI
    Standalone CLI
    Веб-консоль

    Создайте экземпляр Redis 6.0 в режиме Sentinel с помощью CLI:

    $ cat << EOF | kubectl -n default create -f -
    apiVersion: middleware.alauda.io/v1
    kind: Redis
    metadata:
      name: s6
    spec:
      arch: sentinel
      customConfig:
        databases: "16"
        hz: "10"
        save: 60 10000 300 100 600 1
        timeout: "0"
      exporter:
        enabled: true
        resources:
          limits:
            cpu: 100m
            memory: 384Mi
          requests:
            cpu: 50m
            memory: 128Mi
      replicas:
        sentinel:
          master: 1
          slave: 1
      resources:
        limits:
          cpu: "1"
          memory: 2Gi
        requests:
          cpu: "1"
          memory: 2Gi
      sentinel:
        monitorConfig:
          down-after-milliseconds: "30000"
          failover-timeout: "180000"
          parallel-syncs: "1"
        replicas: 3
        resources:
          limits:
            cpu: 100m
            memory: 128Mi
          requests:
            cpu: 100m
            memory: 128Mi
      version: "6.0"
    EOF

    Обратитесь к документации API Redis для описания полей.

    После создания экземпляра вы можете использовать следующую команду для проверки статуса экземпляра:

    $ kubectl -n default get redis
    NAME         ARCH         VERSION   ACCESS     STATUS         MESSAGE   BUNDLE VERSION   AUTOUPGRADE   AGE
    c5           cluster      5.0       NodePort   Ready                    4.0.1                         2m46s
    c6           cluster      6.0                  Initializing             4.0.1                         3m26s
    c7           cluster      7.2       NodePort   Initializing             4.0.1                         98s
    s5           sentinel     5.0                  Ready                    4.0.1                         3m10s
    s6           sentinel     6.0                  Ready                    4.0.1                         25m
    s7           sentinel     7.2       NodePort   Ready                    4.0.1                         2m15s
    standalone   standalone   6.0                  Initializing             4.0.1                         6s

    Значения полей итоговой таблицы следующие:

    ПолеОписание
    NAMEИмя экземпляра
    ARCHЭто значение соответствует архитектуре Redis.
    • cluster: Кластерный режим
    • sentinel: Режим Sentinel
    • standalone: Одиночный Redis
    Эта строка показывает, управляет ли данный ресурс CR одиночным, Sentinel или кластерным режимом Redis.
    VERSIONВ настоящее время поддерживаются только 3 версии: 5.0, 6.0, 7.2
    ACCESSМетоды доступа, поддерживаемые экземпляром.
    • : Экземпляр предоставляет услуги через ClusterIP
    • NodePort: Экземпляр предоставляет услуги через NodePort
    • LoadBalancer: Экземпляр предоставляет услуги через LoadBalancer
    STATUSТекущий статус экземпляра, который может включать в себя следующие состояния:
    • Initializing: Экземпляр инициализируется или обновляется
    • Rebalancing: Экземпляр кластера масштабируется вверх или вниз
    • Error: Экземпляр столкнулся с необратимой ошибкой
    • Paused: Экземпляр был временно приостановлен
    • Ready: Экземпляр готов
    MESSAGEПричина, по которой экземпляр находится в текущем статусе
    BUNDLE VERSIONНомер версии оператора, управляющего экземпляром
    AUTOUPGRADEВключены ли автоматические обновления для экземпляра
    AGEКак давно был создан экземпляр