The module lifecycle stage: Preview
The Deckhouse Kubernetes Platform installs CRDs but does not remove them when a module is disabled. If you no longer need the created CRDs, delete them.
ValkeyClass
Scope: Cluster
Version: v1alpha1
-
stringapiVersionAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
stringkindKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
objectmetadata
-
objectspecValkeyClassSpec defines the desired state of ValkeyClass
-
objectspec.configurationClassConfiguration is the default configuration for the class
-
stringspec.configuration.appendOnlyBy default Valkey asynchronously dumps the dataset on disk. This mode is good enough in many applications, but an issue with the Valkey process or a power outage may result into a few minutes of writes lost (depending on the configured save points).
Example:
appendOnly: "Yes" -
integer or stringspec.configuration.maxMemoryMaxMemory Set a memory usage limit to the specified amount of bytes. When the memory limit is reached Redis will try to remove keys according to the eviction policy selected (see MaxMemoryPolicy). Should not be more than RAM setting of the instance
Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
maxMemory: 256Mi -
stringspec.configuration.maxMemoryPolicyMaxMemoryPolicy is the policy for handling memory usage when maxMemory is reached
Example:
maxMemoryPolicy: volatile-lfu -
stringspec.configuration.saveSave the DB to disk. save
[ …] Example:
save: 60 5
-
-
objectspec.nodeAffinityNodeAffinity of the service pods
-
array of objectsspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecutionThe scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding “weight” to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
-
objectspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preferenceA node selector term, associated with the corresponding weight.
-
array of objectsspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressionsA list of node selector requirements by node’s labels.
-
stringspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.keyThe label key that the selector applies to.
-
stringspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operatorRepresents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
-
array of stringsspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.valuesAn array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
-
-
array of objectsspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFieldsA list of node selector requirements by node’s fields.
-
stringspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.keyThe label key that the selector applies to.
-
stringspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operatorRepresents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
-
array of stringsspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.valuesAn array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
-
-
-
integerspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weightWeight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
-
-
objectspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecutionIf the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
-
array of objectsspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
Required value
Required. A list of node selector terms. The terms are ORed.-
array of objectsspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressionsA list of node selector requirements by node’s labels.
-
stringspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.keyThe label key that the selector applies to.
-
stringspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operatorRepresents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
-
array of stringsspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.valuesAn array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
-
-
array of objectsspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFieldsA list of node selector requirements by node’s fields.
-
stringspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.keyThe label key that the selector applies to.
-
stringspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operatorRepresents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
-
array of stringsspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.valuesAn array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
-
-
-
-
-
objectspec.nodeSelectorAllows a service pods to be assigned to specified nodes. The same as in the
spec.nodeSelectorparameter for Kubernetes Pods. -
array of stringsspec.overridableConfigurationList of the configuration options that can be override by the userё
-
stringspec.overridableConfiguration.Element of the arrayConfigurationType is a type of configuration option
Allowed values:
maxMemoryPolicy,save,appendOnly,maxMemory
-
-
array of objectsspec.sizingPolicies
Required value
SizingPolicies is policy of the resource sizing-
array of stringsspec.sizingPolicies.coreFractionsMultiplier for adjusting
requestsbased on setlimitsin cores.Example:
coreFractions: - 10% - 30% - 50% - 100% -
objectspec.sizingPolicies.coresDefines the allowed range for the number of CPU cores.
-
integerspec.sizingPolicies.cores.max
Required value
Upper limit for the allowed number of CPU cores.Example:
max: 6 -
integerspec.sizingPolicies.cores.min
Required value
Lower limit for the allowed number of CPU cores.Example:
min: 1
-
-
objectspec.sizingPolicies.memoryDefines the allowed memory range and step.
-
integer or stringspec.sizingPolicies.memory.max
Required value
Upper limit for the allowed memory amount.Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
max: 5Gi -
integer or stringspec.sizingPolicies.memory.min
Required value
Lower limit for the allowed memory amount.Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
min: 128Mi -
integer or stringspec.sizingPolicies.memory.step
Required value
Divider for the allowed memory value. The specified memory amount must be evenly divisible.Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
step: 100Mi
-
-
-
array of objectsspec.tolerationsTolerations of the service pods
-
stringspec.tolerations.effectEffect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
-
stringspec.tolerations.keyKey is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
-
stringspec.tolerations.operatorOperator represents a key’s relationship to the value. Valid operators are Exists, Equal, Lt, and Gt. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. Lt and Gt perform numeric comparisons (requires feature gate TaintTolerationComparisonOperators).
-
integerspec.tolerations.tolerationSecondsTolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
-
stringspec.tolerations.valueValue is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
-
-
array of objectsspec.validationsValidations List of the validation rules applied to the Valkey user configuration
-
stringspec.validations.messageMessage that will be shown in case of fail of the
rule.Example:
message: '''maxConnections should be greater than 100''\' -
stringspec.validations.rule
Rule for validating Postgres configuration.
Available predefined variables:
configuration.maxConnectionsconfiguration.workMemconfiguration.sharedBuffersconfiguration.walKeepSizeinstance.memory.sizeinstance.cpu.cores
Example:
rule: configuration.maxConnections > 100
-
-
Valkey
Scope: Namespaced
Version: v1alpha1
-
stringapiVersionAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
stringkindKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
objectmetadata
-
objectspecValkeySpec defines the desired state of Valkey
-
objectspec.configurationValkey configuration options
-
stringspec.configuration.appendOnlyBy default Valkey asynchronously dumps the dataset on disk. This mode is good enough in many applications, but an issue with the Valkey process or a power outage may result into a few minutes of writes lost (depending on the configured save points).
Example:
appendOnly: "No" -
integer or stringspec.configuration.maxMemoryMaxMemory Set a memory usage limit to the specified amount of bytes. When the memory limit is reached Redis will try to remove keys according to the eviction policy selected (see MaxMemoryPolicy). Should not be more than RAM setting of the instance
Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
maxMemory: 256Mi -
stringspec.configuration.maxMemoryPolicyMaxMemoryPolicy is the policy for handling memory usage when maxMemory is reached
Example:
maxMemoryPolicy: volatile-lfu -
stringspec.configuration.saveSave the DB to disk. save
[ …] Example:
save: 60 5
-
-
objectspec.instance
Required value
Valkey instance configuration-
objectspec.instance.cpu
Required value
-
stringspec.instance.cpu.coreFraction
Required value
CoreFraction is the multiplier for requests of the cores limitsExample:
coreFraction: 50% -
integerspec.instance.cpu.cores
Required value
-
-
objectspec.instance.memory
Required value
-
integer or stringspec.instance.memory.size
Required value
Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
size: 1Gi
-
-
objectspec.instance.persistentVolumeClaim
Required value
-
integer or stringspec.instance.persistentVolumeClaim.size
Required value
Default:
1GiPattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
size: 1Gi -
stringspec.instance.persistentVolumeClaim.storageClassNameName of storage class that will be used as storage for instances. If empty, will be used storageClass that marked as defaulted in k8s cluster. Setting sets up once, and can not be changed during update.
Example:
storageClassName: local-path
-
-
-
stringspec.valkeyClassName
Required value
Name of ValkeyClass kind, that has to be specified for settings validationDefault:
defaultExample:
valkeyClassName: minimal
-