Skip to content

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"}}
Compute-specific section YAML configuration

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:

compute: 
    {}


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:

dataplane: hub 


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:

purpose: gpu 


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:

nodePool:
  {}


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:

nodeSelector: 
  dataos.io/purpose: runnable 


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:

tolerations:
  - key: "dedicated" 
    operator: "Equal" 
    value: "runnable" 
    effect: "NoSchedule" 


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:

key: dedicated 


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:

operator: Equal 


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:

value: runnable 


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:

effect: NoSchedule