Deckhouse Kubernetes Platform устанавливает CRD, но не удаляет их при отключении модуля. Если вам больше не нужны созданные CRD, удалите их.

ValkeyClass

Scope: Cluster
Version: v1alpha1

Valkey это схема для valkeys API
  • apiVersion
    строка
    APIVersion определяет версионную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  • kind
    строка
    Kind — это строковое значение, представляющее REST-ресурс, который представляет этот объект. Серверы могут определить это из конечной точки, на которую клиент отправляет запросы. Не может быть обновлено. В CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  • metadata
    объект
  • spec
    объект
    ValkeyClassSpec определяет желаемое состояние ValkeyClass Ресурс для администратора кластера, который может валидировать ресурсы Valkey параметрами allowedConfiguration, sizingPolicies, validationRules и т.д.
    • spec.configuration
      объект
      Конфигурация по умолчанию для класса
      • spec.configuration.appendOnly
        строка
        По умолчанию Valkey асинхронно сохраняет набор данных на диск. Этот режим достаточно хорош для многих приложений, но проблема с процессом Valkey или отключение питания может привести к потере записей за несколько минут (в зависимости от настроенных точек сохранения).

        Пример:

        appendOnly: "Yes"
        
      • spec.configuration.maxMemory
        строка или число
        MaxMemory устанавливает ограничение использования памяти до указанного количества байт. Когда достигается лимит памяти, Valkey попытается удалить ключи в соответствии с выбранной политикой вытеснения (см. MaxMemoryPolicy). Не должно превышать настройку RAM экземпляра.

        Шаблон: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

        Пример:

        maxMemory: 256Mi
        
      • spec.configuration.maxMemoryPolicy
        строка
        MaxMemoryPolicy — политика обработки использования памяти при достижении maxMemory

        Пример:

        maxMemoryPolicy: volatile-lfu
        
      • spec.configuration.save
        строка
        Сохранение БД на диск. save <секунды> <изменения> [<секунды> <изменения> …]

        Пример:

        save: 60 5
        
    • spec.nodeAffinity
      объект
      NodeAffinity концептуально похожа на 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.tolerations
      массив объектов
      Tolerations сервисных подов
      • spec.tolerations.effect
        строка
        Effect указывает эффект taint для сопоставления. Пустое значение означает сопоставление со всеми эффектами taint. При указании допустимые значения: NoSchedule, PreferNoSchedule и NoExecute.
      • spec.tolerations.key
        строка
        Key — ключ taint, к которому применяется толерантность. Пустое значение означает сопоставление со всеми ключами taint. Если ключ пустой, оператор должен быть Exists; эта комбинация означает сопоставление со всеми значениями и всеми ключами.
      • spec.tolerations.operator
        строка
        Operator представляет отношение ключа к значению. Допустимые операторы: Exists, Equal, Lt и Gt. По умолчанию Equal.
      • spec.tolerations.tolerationSeconds
        целочисленный
        TolerationSeconds представляет период времени, в течение которого толерантность (которая должна быть с эффектом NoExecute, иначе это поле игнорируется) толерирует taint. По умолчанию не установлено, что означает толерировать taint вечно (не вытеснять).
      • spec.tolerations.value
        строка
        Value — значение taint, с которым сопоставляется толерантность. Если оператор Exists, значение должно быть пустым, иначе просто обычная строка.
    • spec.validations
      массив объектов
      Список правил валидации, применяемых к пользовательской конфигурации Valkey
      • spec.validations.message
        строка
        Сообщение, которое будет показано в случае неудачи проверки rule.

        Пример:

        message: '''maxConnections should be greater than 100''\'
        
      • spec.validations.rule
        строка

        Правило для валидации конфигурации Valkey.

        Доступные предопределённые переменные:

        • configuration.maxConnections
        • configuration.workMem
        • configuration.sharedBuffers
        • configuration.walKeepSize
        • instance.memory.size
        • instance.cpu.cores

        Пример:

        rule: configuration.maxConnections > 100
        

Valkey

Scope: Namespaced
Version: v1alpha1

Valkey это схема для valkeys API
  • apiVersion
    строка
    APIVersion определяет версионную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  • kind
    строка
    Kind — это строковое значение, представляющее REST-ресурс, который представляет этот объект. Серверы могут определить это из конечной точки, на которую клиент отправляет запросы. Не может быть обновлено. В CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  • metadata
    объект
  • spec
    объект
    ValkeySpec определяет желаемое состояние Valkey
    • spec.configuration
      объект
      Параметры конфигурации Valkey
      • spec.configuration.appendOnly
        строка
        По умолчанию Valkey асинхронно сохраняет набор данных на диск. Этот режим достаточно хорош для многих приложений, но проблема с процессом Valkey или отключение питания может привести к потере записей за несколько минут (в зависимости от настроенных точек сохранения).

        Пример:

        appendOnly: "No"
        
      • spec.configuration.maxMemory
        строка или число
        MaxMemory устанавливает ограничение использования памяти до указанного количества байт. Когда достигается лимит памяти, Valkey попытается удалить ключи в соответствии с выбранной политикой вытеснения (см. MaxMemoryPolicy). Не должно превышать настройку RAM узла.

        Шаблон: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

        Пример:

        maxMemory: 256Mi
        
      • spec.configuration.maxMemoryPolicy
        строка
        MaxMemoryPolicy — это политика обработки использования памяти при достижении 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