Стадия жизненного цикла модуля: Preview
Deckhouse Kubernetes Platform устанавливает CRD, но не удаляет их при отключении модуля. Если вам больше не нужны созданные CRD, удалите их.
ValkeyClass
Scope: Cluster
Version: v1alpha1
-
строкаapiVersionAPIVersion определяет версионную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
строкаkindKind — это строковое значение, представляющее REST-ресурс, который представляет этот объект. Серверы могут определить это из конечной точки, на которую клиент отправляет запросы. Не может быть обновлено. В CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
объектmetadata
-
объектspecValkeyClassSpec определяет желаемое состояние ValkeyClass Ресурс для администратора кластера, который может валидировать ресурсы Valkey параметрами allowedConfiguration, sizingPolicies, validationRules и т.д.
-
объектspec.configurationКонфигурация по умолчанию для класса
-
строкаspec.configuration.appendOnlyПо умолчанию Valkey асинхронно сохраняет набор данных на диск. Этот режим достаточно хорош для многих приложений, но проблема с процессом Valkey или отключение питания может привести к потере записей за несколько минут (в зависимости от настроенных точек сохранения).
Пример:
appendOnly: "Yes" -
строка или числоspec.configuration.maxMemoryMaxMemory устанавливает ограничение использования памяти до указанного количества байт. Когда достигается лимит памяти, Valkey попытается удалить ключи в соответствии с выбранной политикой вытеснения (см. MaxMemoryPolicy). Не должно превышать настройку RAM экземпляра.
Шаблон:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Пример:
maxMemory: 256Mi -
строкаspec.configuration.maxMemoryPolicyMaxMemoryPolicy — политика обработки использования памяти при достижении maxMemory
Пример:
maxMemoryPolicy: volatile-lfu -
строкаspec.configuration.saveСохранение БД на диск. save <секунды> <изменения> [<секунды> <изменения> …]
Пример:
save: 60 5
-
-
объектspec.nodeAffinityNodeAffinity концептуально похожа на nodeSelector, позволяя ограничить узлы, на которые может быть развернут ваш Pod, на основе labels.
-
массив объектовspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecutionПланировщик предпочтет разворачивать поды на узлы, которые удовлетворяют выражениям affinity, указанным этим полем, но он может выбрать узел, который нарушает одно или несколько выражений. Наиболее предпочтительный узел — это тот, у которого наибольшая сумма весов, т.е. для каждого узла, который соответствует всем требованиям планирования (запрос ресурсов, выражения affinity requiredDuringScheduling и т.д.), вычислить сумму, перебирая элементы этого поля и добавляя “weight” к сумме, если узел соответствует соответствующим matchExpressions; узел(ы) с наибольшей суммой являются наиболее предпочтительными.
-
объектspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preferenceУсловие селектора узла, связанное с соответствующим весом (weight).
-
массив объектовspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressionsСписок требований селектора узла по лейблам узла.
-
строкаspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.keyКлюч лейбла, к которому применяется селектор.
-
строкаspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
Представляет отношение ключа к набору значений.
Поддерживаемые операторы:
In;NotIn;Exists;DoesNotExist;Gt;Lt.
-
массив строкspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
Массив строковых значений, который заполняется в зависимости от оператора:
- при операторе
InилиNotInмассив значений НЕ должен быть пустым; - при операторе
ExistsилиDoesNotExist, массив значений должен быть пустым; - при операторе
GtилиLtмассив значений должен иметь один элемент, который будет интерпретирован как целое число.
Этот массив заменяется при применении strategic merge patch.
- при операторе
-
-
массив объектовspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFieldsСписок требований селектора узла по полям узла.
-
строкаspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.keyКлюч лейбла, к которому применяется селектор.
-
строкаspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
Представляет отношение ключа к набору значений.
Поддерживаемые операторы:
In;NotIn;Exists;DoesNotExist;Gt;Lt.
-
массив строкspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
Массив строковых значений, который заполняется в зависимости от оператора:
- при операторе
InилиNotInмассив значений НЕ должен быть пустым; - при операторе
ExistsилиDoesNotExist, массив значений должен быть пустым; - при операторе
GtилиLtмассив значений должен иметь один элемент, который будет интерпретирован как целое число.
Этот массив заменяется при применении strategic merge patch.
- при операторе
-
-
-
целочисленныйspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weightВес, определяющий приоритет сопоставления соответствующему
nodeSelectorTerm, в диапазоне 1-100.
-
-
объектspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecutionЕсли требования affinity, указанные этим полем, не выполняются во время планирования, под не будет запланирован на узел. Если требования affinity, указанные этим полем, перестают выполняться в какой-то момент во время выполнения пода (например, из-за обновления), система может или не может попытаться в конечном итоге выселить под с его узла.
-
массив объектовspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
Обязательный параметр
Список условий селектора узла. Термины объединяются по логикеИЛИ.-
массив объектовspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressionsСписок требований селектора узла по лейблам узла.
-
строкаspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.keyКлюч лейбла, к которому применяется селектор.
-
строкаspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
Представляет отношение ключа к набору значений.
Поддерживаемые операторы:
In;NotIn;Exists;DoesNotExist;Gt;Lt.
-
массив строкspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
Массив строковых значений, который заполняется в зависимости от оператора:
- при операторе
InилиNotInмассив значений НЕ должен быть пустым; - при операторе
ExistsилиDoesNotExist, массив значений должен быть пустым; - при операторе
GtилиLtмассив значений должен иметь один элемент, который будет интерпретирован как целое число.
Этот массив заменяется при применении strategic merge patch.
- при операторе
-
-
массив объектовspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFieldsСписок требований селектора узла по полям узла.
-
строкаspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.keyКлюч лейбла, к которому применяется селектор.
-
строкаspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
Представляет отношение ключа к набору значений.
Поддерживаемые операторы:
In;NotIn;Exists;DoesNotExist;Gt;Lt.
-
массив строкspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
Массив строковых значений, который заполняется в зависимости от оператора:
- при операторе
InилиNotInмассив значений НЕ должен быть пустым; - при операторе
ExistsилиDoesNotExist, массив значений должен быть пустым; - при операторе
GtилиLtмассив значений должен иметь один элемент, который будет интерпретирован как целое число.
Этот массив заменяется при применении strategic merge patch.
- при операторе
-
-
-
-
-
объектspec.nodeSelectorПозволяет назначать поды сервиса на указанные узлы. Аналогично параметру
spec.nodeSelectorдля Kubernetes Pods. -
массив строкspec.overridableConfigurationСписок параметров конфигурации, которые могут быть переопределены пользователем
-
строкаspec.overridableConfiguration.Элемент массиваConfigurationType — тип параметра конфигурации
Допустимые значения:
maxMemoryPolicy,save,appendOnly,maxMemory
-
-
массив объектовspec.sizingPolicies
Обязательный параметр
SizingPolicies — политика размеров ресурсов-
массив строкspec.sizingPolicies.coreFractionsМножитель для корректировки
requestsна основе установленныхlimitsв ядрах.Пример:
coreFractions: - 10% - 30% - 50% - 100% -
объектspec.sizingPolicies.coresОпределяет допустимый диапазон количества ядер CPU.
-
целочисленныйspec.sizingPolicies.cores.max
Обязательный параметр
Верхний предел допустимого количества ядер CPU.Пример:
max: 6 -
целочисленныйspec.sizingPolicies.cores.min
Обязательный параметр
Нижний предел допустимого количества ядер CPU.Пример:
min: 1
-
-
объектspec.sizingPolicies.memoryОпределяет допустимый диапазон памяти и шаг.
-
строка или числоspec.sizingPolicies.memory.max
Обязательный параметр
Верхний предел допустимого объёма памяти.Шаблон:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Пример:
max: 5Gi -
строка или числоspec.sizingPolicies.memory.min
Обязательный параметр
Нижний предел допустимого объёма памяти.Шаблон:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Пример:
min: 128Mi -
строка или числоspec.sizingPolicies.memory.step
Обязательный параметр
Делитель для допустимого значения памяти. Указанный объём памяти должен быть кратен этому значению.Шаблон:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Пример:
step: 100Mi
-
-
-
массив объектовspec.tolerationsTolerations сервисных подов
-
строкаspec.tolerations.effectEffect указывает эффект taint для сопоставления. Пустое значение означает сопоставление со всеми эффектами taint. При указании допустимые значения: NoSchedule, PreferNoSchedule и NoExecute.
-
строкаspec.tolerations.keyKey — ключ taint, к которому применяется толерантность. Пустое значение означает сопоставление со всеми ключами taint. Если ключ пустой, оператор должен быть Exists; эта комбинация означает сопоставление со всеми значениями и всеми ключами.
-
строкаspec.tolerations.operatorOperator представляет отношение ключа к значению. Допустимые операторы: Exists, Equal, Lt и Gt. По умолчанию Equal.
-
целочисленныйspec.tolerations.tolerationSecondsTolerationSeconds представляет период времени, в течение которого толерантность (которая должна быть с эффектом NoExecute, иначе это поле игнорируется) толерирует taint. По умолчанию не установлено, что означает толерировать taint вечно (не вытеснять).
-
строкаspec.tolerations.valueValue — значение taint, с которым сопоставляется толерантность. Если оператор Exists, значение должно быть пустым, иначе просто обычная строка.
-
-
массив объектовspec.validationsСписок правил валидации, применяемых к пользовательской конфигурации Valkey
-
строкаspec.validations.messageСообщение, которое будет показано в случае неудачи проверки
rule.Пример:
message: '''maxConnections should be greater than 100''\' -
строкаspec.validations.rule
Правило для валидации конфигурации Valkey.
Доступные предопределённые переменные:
configuration.maxConnectionsconfiguration.workMemconfiguration.sharedBuffersconfiguration.walKeepSizeinstance.memory.sizeinstance.cpu.cores
Пример:
rule: configuration.maxConnections > 100
-
-
Valkey
Scope: Namespaced
Version: v1alpha1
-
строкаapiVersionAPIVersion определяет версионную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
строкаkindKind — это строковое значение, представляющее REST-ресурс, который представляет этот объект. Серверы могут определить это из конечной точки, на которую клиент отправляет запросы. Не может быть обновлено. В CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
объектmetadata
-
объектspecValkeySpec определяет желаемое состояние Valkey
-
объектspec.configurationПараметры конфигурации Valkey
-
строкаspec.configuration.appendOnlyПо умолчанию Valkey асинхронно сохраняет набор данных на диск. Этот режим достаточно хорош для многих приложений, но проблема с процессом Valkey или отключение питания может привести к потере записей за несколько минут (в зависимости от настроенных точек сохранения).
Пример:
appendOnly: "No" -
строка или числоspec.configuration.maxMemoryMaxMemory устанавливает ограничение использования памяти до указанного количества байт. Когда достигается лимит памяти, Valkey попытается удалить ключи в соответствии с выбранной политикой вытеснения (см. MaxMemoryPolicy). Не должно превышать настройку RAM узла.
Шаблон:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Пример:
maxMemory: 256Mi -
строкаspec.configuration.maxMemoryPolicyMaxMemoryPolicy — это политика обработки использования памяти при достижении maxMemory
Пример:
maxMemoryPolicy: volatile-lfu -
строкаspec.configuration.saveСохранение БД на диск. save <секунды> <изменения> [<секунды> <изменения> …]
Пример:
save: 60 5
-
-
объектspec.instance
Обязательный параметр
Требования к ресурсам каждого сгенерированного Pod. Пожалуйста, пройдите по ссылке https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ для получения дополнительной информации.-
объектspec.instance.cpu
Обязательный параметр
-
строкаspec.instance.cpu.coreFraction
Обязательный параметр
CoreFraction — множитель для requests от limits ядерПример:
coreFraction: 50% -
целочисленныйspec.instance.cpu.cores
Обязательный параметр
Количество ядер процессора
-
-
объектspec.instance.memory
Обязательный параметр
-
строка или числоspec.instance.memory.size
Обязательный параметр
Размер памятиШаблон:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Пример:
size: 1Gi
-
-
объектspec.instance.persistentVolumeClaim
Обязательный параметр
-
строка или числоspec.instance.persistentVolumeClaim.size
Обязательный параметр
Размер хранилищаПо умолчанию:
1GiШаблон:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Пример:
size: 1Gi -
строкаspec.instance.persistentVolumeClaim.storageClassNameИмя класса хранилища, который будет использоваться как хранилище для Valkey. Если пусто, будет использован storageClass, отмеченный как стандартный в кластере k8s. Настройка устанавливается один раз и не может быть изменена при обновлении.
Пример:
storageClassName: local-path
-
-
-
строкаspec.valkeyClassName
Обязательный параметр
Имя типа ValkeyClass, которое должно быть указано для валидации настроекПо умолчанию:
defaultПример:
valkeyClassName: minimal
-