#Создать экземпляр
Следующие версии Redis полностью поддерживаются: 6.0, 7.2, 8.4; другие версии по умолчанию не поддерживаются.
При использовании в production-среде рекомендуется в первую очередь выбирать версии 7.2 или 8.4, а затем 6.0.
7.2и8.4по-прежнему поддерживаются сообществом и исправляют известные проблемы в6.0. Версия6.0больше не поддерживается сообществом.7.2и8.4полностью совместимы с6.0.- В
7.2и8.4дополнительно улучшены функции ACL.
Одноузловая архитектура не имеет репликационных узлов и не поддерживает failover, поэтому её следует использовать только в средах разработки и тестирования. В зависимости от требований вашего бизнеса к данным и уровню конкурентной нагрузки можно выбрать архитектуру Sentinel или кластерную архитектуру.
#Создание экземпляра Redis
#Процедура
Создайте экземпляр 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 для описания полей.
Создайте экземпляр Redis 6.0 в режиме Cluster с помощью CLI:
$ cat << EOF | kubectl -n default create -f -
apiVersion: middleware.alauda.io/v1
kind: Redis
metadata:
name: c6
spec:
affinityPolicy: AntiAffinityInSharding
arch: cluster
customConfig:
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
expose:
type: NodePort
replicas:
cluster:
shard: 3
slave: 1
resources:
limits:
cpu: 200m
memory: 200Mi
requests:
cpu: 200m
memory: 200Mi
version: "6.0"
EOFСм. документацию по Redis API для описания полей.
Создайте экземпляр Redis 6.0 в режиме Standalone с помощью CLI:
$ cat << EOF | kubectl -n default create -f -
apiVersion: middleware.alauda.io/v1
kind: Redis
metadata:
name: standalone
spec:
arch: standalone
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
resources:
limits:
cpu: "1"
memory: 1Gi
requests:
cpu: "1"
memory: 1Gi
version: "6.0"
EOFСм. документацию по Redis API для описания полей.
-
Перейдите в представление Alauda Application Services.
-
В левой панели навигации представления Alauda Application Services нажмите Redis.
-
Нажмите Имя пространства имен.
-
Нажмите Создать экземпляр Redis.
-
Выберите тип архитектуры.
-
Выполните приведённые ниже инструкции, чтобы завершить соответствующие настройки.
Конфигурация Параметр конфигурации Описание Конфигурация параметров Шаблон параметров Можно выбрать системный или пользовательский шаблон параметров. Для пользовательских шаблонов параметров см. Управление шаблонами параметров. Конфигурация подключения Установить пароль по умолчанию Рекомендуется задать пароль для пользователя redis defaultпри запуске экземпляра. Если пароль не задан, см. Управление пользователями, чтобы сбросить пароль или создать дополнительные учётные записи.Способ доступа Если приложения и экземпляры Redis размещаются в разных кластерах рабочей нагрузки, используйте способ внешнего доступа. Способ внешнего доступа поддерживает LoadBalancerиNodePort; для production-среды рекомендуетсяLoadBalancer. Если приложения и экземпляры Redis размещаются в одном и том же кластере рабочей нагрузки, используйте способ доступа внутри кластера.Указать хостовый порт При использовании NodePort для внешнего доступа можно указать номера nodePort службы.
Режим Sentinel: при обновлении экземпляра порты нельзя менять местами; если нужно поменять порты, сначала обновите другой незанятый порт, а затем задайте его повторно.
Режим Cluster: при обновлении экземпляра, если требуется заменить только один порт, можно повторно ввести или изменить соответствующий node port в YAML.Конфигурация планирования Политика антиаффинности Чтобы удовлетворить требованиям высокой надёжности и высокой доступности в разных бизнес-сценариях, платформа предоставляет политику антиаффинности для режима Cluster, где Force anti-affinity является политикой антиаффинности, применяемой по умолчанию.
Примечание: после создания экземпляра эту конфигурацию изменить нельзя.Метки узлов Фильтруйте доступные узлы в текущем кластере с помощью меток. Pods будут запланированы на доступные узлы.
Примечание: после создания экземпляра эту конфигурацию изменить нельзя.Допустимость Pod Если на доступных узлах заданы taint, только Pods, для которых заданы tolerations, смогут их допускать и могут быть назначены на узлы, соответствующие toleration Pod и taint узла. Правила сопоставления следующие. - Equal: когда
key,valueиeffect, которые допускает Pod, точно совпадают с настройками taint узла, Pod будет допускать taint узла. - Exists: когда
keyиeffect, которые допускает Pod, совпадают с настройками taint узла, Pod будет допускать taint узла.
Примечание: effect определяет, будут ли Pods, которые не допускают taint узла, назначаться на узел с этим taint. Например, если effect равен NoExecute, будут запланированы только Pods, которые допускают taint (включая Pods в этом экземпляре Redis), а уже работающие Pods на узле, которые не допускают taint, будут вытеснены (Pods из других экземпляров). Для получения дополнительной информации о правилах сопоставления см. документацию сообщества Kubernetes.Текущая Web Console не поддерживает создание
standalone(одноузловой архитектуры Redis). - Equal: когда
-
Нажмите Создать.
Когда статус экземпляра изменится на Running, экземпляр будет успешно создан.
После создания экземпляра для проверки его статуса можно использовать следующую команду:
$ 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.
|
| VERSION | В настоящее время поддерживаются только 3 версии: 6.0, 7.2, 8.4 |
| ACCESS | Поддерживаемые экземпляром способы доступа.
|
| STATUS | Текущее состояние экземпляра, которое может включать следующие статусы:
|
| MESSAGE | Причина, по которой экземпляр находится в текущем состоянии |
| BUNDLE VERSION | Номер версии operator, управляющего экземпляром |
| AUTOUPGRADE | Включено ли для экземпляра автоматическое обновление |
| AGE | Как давно был создан экземпляр |