Attributes of Compute-specific Section¶
This documentation provides a comprehensive overview of the configuration attributes available for the Compute-specifc Section within a Compute Resource YAML.
Structure of Compute-specific Section¶
The YAML syntax below demonstrates the structure of the Compute-specfic section:
compute:
dataplane: ${{hub}}
purpose: ${{runnable}}
nodePool:
nodeSelector:
${{"dataos.io/purpose": "runnable"}}
tolerations:
- key: ${{"dedicated"}}
operator: ${{"Equal"}}
value: ${{"runnable"}}
effect: ${{"NoSchedule"}}
Configuration Attributes¶
compute
¶
Description: compute-specific attributes are declared within the Compute section specifed by the compute
key
Data Type | Requirement | Default Value | Possible Value |
---|---|---|---|
mapping | mandatory | none | none |
Example Usage:
dataplane
¶
Description: the dataplane attribute specifies the name of the Dataplane Resource for which the Compute Resource is being created
Data Type | Requirement | Default Value | Possible Value |
---|---|---|---|
string | mandatory | none | hub |
Example Usage:
purpose
¶
Description: the purpose attribute indicates the purpose of the Compute Resource
Data Type | Requirement | Default Value | Possible Value |
---|---|---|---|
string | mandatory | none | runnable/query/gpu |
Example Usage:
nodePool
¶
Description: the nodePool attribute represents node pool specific key-value properties declared in the nodePool mapping
Data Type | Requirement | Default Value | Possible Value |
---|---|---|---|
mapping | mandatory | none | none |
Example Usage:
nodeSelector
¶
Description: the nodeSelector section allows the specification of key-value properties for node selection. By using the nodeSelector property in the compute specification, desired node labels for the target node can be defined. Kubernetes will only schedule the Pod onto nodes that have all the specified labels.
Data Type | Requirement | Default Value | Possible Value |
---|---|---|---|
mapping | mandatory | none | dataos.io/purpose: runnable/query/gpu |
Additional Details:For the other custom Compute Resource the key-value pair depends on the cloud providers.
Example Usage:
tolerations
¶
Description: the tolerations section/mapping allows control over the scheduling of pods on nodes with specific taints. Taints are properties assigned to nodes that repel pods from being scheduled on them. By adding tolerations to pods, the key, operator, value, and effect attributes can be specified to allow certain pods to be scheduled on tainted nodes.
Data Type | Requirement | Default Value | Possible Value |
---|---|---|---|
mapping | mandatory | none | none |
Example Usage:
key
¶
Description: the key attribute represents a string of up to 253 characters. It must start with a letter or a number and can contain letters, numbers, hyphens, dots, and underscores
Data Type | Requirement | Default Value | Possible Value |
---|---|---|---|
string | mandatory | none | any string starting with a letter or a number, and could contain letters, numbers, hyphens, dots, and underscores. Its length must be less than 253 characters |
Example Usage:
operator
¶
Description: the operator specifies the operator for the toleration. There are two possible values: "Equal" and "Exists".
Data Type | Requirement | Default Value | Possible Value |
---|---|---|---|
string | mandatory | Equal | Equal/Exists |
Additional Details:
- Equal: The key/value/effect parameters must match for the toleration to be effective.
- Exists:The key/effect parameters must match. You can leave the value parameter blank to match any value.
Example Usage:
value
¶
Description: the value represents a string of up to 63 characters. It must start with a letter or a number and can contain letters, numbers, hyphens, dots, and underscores.
Data Type | Requirement | Default Value | Possible Value |
---|---|---|---|
string | mandatory | none | any string up to 63 characters. It must start with a letter or a number and can contain letters, numbers, hyphens, dots, and underscores. |
Example Usage:
effect
¶
Description: the effect specifies the action that should be taken when a pod does not tolerate the taint. It can have one of the following values: "NoSchedule", "PreferNoSchedule", or "NoExecute".
Data Type | Requirement | Default Value | Possible Value |
---|---|---|---|
string | mandatory | none | NoSchedule/PreferNoSchedule/NoExecute |
Additional Details:
- NoSchedule: New pods that do not match the taint are not scheduled on the node, while existing pods on the node remain unaffected.
- PreferNoSchedule: New pods that do not match the taint might be scheduled onto the node, but the scheduler tries to avoid it. Existing pods on the node remain unaffected.
- NoExecute: New pods that do not match the taint cannot be scheduled onto the node, and existing pods on the node that do not have a matching toleration are removed.
Example Usage: