Стадия жизненного цикла модуля: Preview
Valkey
Namespaced ресурс, который позволяет создавать конечную конфигурацию и является точкой правды состояния для конкретного развернутого сервиса valkey.
ValkeyClassName
Имя класса, с которым будет связан конкретный ресурс.
Без созданного ValkeyClass разворачивание сервиса невозможно.
spec:
valkeyClassName: default
Instance
Секция, которая описывает ресурсы создаваемого сервиса.
Должна пройти валидацию по sizingPolicy соответствующего класса:
spec:
instance:
memory:
size: 1Gi
cpu:
cores: 1
coreFraction: 50
persistentVolumeClaim:
size: 1Gi
storageClassName: default
Configuration
Секция, описывающая конфигурацию сервиса valkey.
Должна пройти валидацию по overridableConfiguration и validations соответствующего класса:
spec:
configuration:
maxMemory: "512Mi"
maxMemoryPolicy: Volatile-lfu
Поддерживаемые версии Valkey
Единственная поддерживаемая версия Valkey 9.0.1
Наши образы для запуска Valkey-контейнеров основаны на distroless-архитектуре.
Cтатус
Статус сервиса Managed Valkey отражается в ресурсе Valkey.
Структура Conditions однозначно показывает текущий статус сервиса
Значимые типы:
LastValidConfigurationApplied- Агрегирующий тип, который показывает, была ли применена успешно последняя валидная конфигурация хотя бы раз.ConfigurationValid- показывает прошла ли что конфигурация все валидации связанногоValkeyClass.ScaledToLastValidConfiguration- показывает, соответствует ли количество работающих реплик заданной конфигурации.Available- показывает, работает ли master реплика сервиса и принимает подключения.UsersSynced- показывает, все ли пользователи были синхронизированы и приведены к описанному состоянию.DatabasesSynced- показывает, все ли логические базы были синхронизированы и приведены к описанному состоянию.
conditions:
- lastTransitionTime: '2025-09-22T23:20:36Z'
observedGeneration: 2
status: 'True'
type: Available
- lastTransitionTime: '2025-09-22T14:38:04Z'
observedGeneration: 2
status: 'True'
type: ConfigurationValid
- lastTransitionTime: '2025-09-22T14:38:06Z'
observedGeneration: 2
status: 'True'
type: DatabasesSynced
- lastTransitionTime: '2025-09-22T14:38:47Z'
observedGeneration: 2
status: 'True'
type: LastValidConfigurationApplied
- lastTransitionTime: '2025-09-22T23:20:36Z'
observedGeneration: 2
status: 'True'
type: ScaledToLastValidConfiguration
- lastTransitionTime: '2025-09-22T14:38:05Z'
observedGeneration: 2
status: 'True'
type: UsersSynced
Статус False говорит о проблеме на том или ином этапе либо незавершенной синхронизации состояния.
Для такого состояния будет указан reason и message с описанием.
---
- lastTransitionTime: '2025-09-23T14:53:33Z'
message: Syncing
observedGeneration: 1
reason: Syncing
status: 'False'
type: LastValidConfigurationApplied
- lastTransitionTime: '2025-09-23T14:54:58Z'
message: Not all the instances are running still waiting for 1 to become ready
observedGeneration: 1
reason: ScalingInProgress
status: 'False'
type: ScaledToLastValidConfiguration
---
Примеры использования
Базовое использование
Без постоянного хранилища данных.
- Создайте namespace с именем
valkey. - Создайте ресурс
Valkey
kubectl apply -f managed-services_v1alpha1_valkey.yaml -n valkey
apiVersion: managed-services.deckhouse.io/v1alpha1
kind: Valkey
metadata:
name: valkey-sample
spec:
valkeyClassName: default
configuration:
maxMemory: "256Mi"
maxMemoryPolicy: Volatile-lfu
save: ""
appendOnly: "No"
instance:
memory:
size: "512Mi"
cpu:
cores: 1
coreFraction: "25%"
persistentVolumeClaim:
size: "1Gi"
- Подождите, пока кластер будет создан все conditions будет в
True:
kubectl get valkey valkey-sample -n valkey -o wide -w
- Для подключения используйте клиент
redis-cliи сервисd8ms-vlk-valkey-sample
redis-cli -h d8ms-vlk-valkey-sample -p 6379
С использованием AOF хранилища
- Создайте namespace с именем
valkey. - Создайте ресурс
Valkey
kubectl apply -f managed-services_v1alpha1_valkey.yaml -n valkey
apiVersion: managed-services.deckhouse.io/v1alpha1
kind: Valkey
metadata:
name: valkey-sample
spec:
valkeyClassName: default
configuration:
maxMemory: "256Mi"
maxMemoryPolicy: Volatile-lfu
save: ""
appendOnly: "Yes"
instance:
memory:
size: "512Mi"
cpu:
cores: 1
coreFraction: "50%"
persistentVolumeClaim:
size: "1Gi"
- Подождите, пока кластер будет создан все conditions будет в
True:
kubectl get valkey valkey-sample -n valkey -o wide -w
- Для подключения используйте клиент
redis-cliи сервисd8ms-vlk-valkey-sample
redis-cli -h d8ms-vlk-valkey-sample -p 6379
С использованием RDB хранилища
- Создайте namespace с именем
valkey. - Создайте ресурс
Valkey
kubectl apply -f managed-services_v1alpha1_valkey.yaml -n valkey
apiVersion: managed-services.deckhouse.io/v1alpha1
kind: Valkey
metadata:
name: valkey-sample
spec:
valkeyClassName: default
configuration:
maxMemory: "256Mi"
maxMemoryPolicy: Volatile-ttl
save: "60 5"
appendOnly: "No"
instance:
memory:
size: "512Mi"
cpu:
cores: 1
coreFraction: "50%"
persistentVolumeClaim:
size: "1Gi"
- Подождите, пока кластер будет создан все conditions будет в
True:
kubectl get valkey valkey-sample -n valkey -o wide -w
- Для подключения используйте клиент
redis-cliи сервисd8ms-vlk-valkey-sample
redis-cli -h d8ms-vlk-valkey-sample -p 6379