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

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

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

    При использовании в production-среде рекомендуется в первую очередь выбирать версии 7.2 или 8.4, а затем 6.0.

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

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

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

    Процедура

    CLI для режима Sentinel
    CLI для режима Cluster
    CLI для режима Standalone
    Веб-консоль

    Создайте экземпляр 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

    См. документацию по Redis API для описания полей.

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

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

    Значения полей таблицы вывода приведены ниже:

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