Skip to main content
Version: v1.2.x

Compute Reference

This page provides technical reference information for the Compute resource: the discovery tags PaletteAI reads from Palette Edge hosts, the spec fields you can set, and the status fields the controller reports. For concepts, refer to Compute. For the raw resource spec, refer to the Compute CRD documentation.

Discovery Tags

PaletteAI discovers Edge hosts that carry the palette.ai: true tag in Palette. Palette's Edge agent (Stylus) automatically detects and reports the GPU metadata that PaletteAI needs. If the agent cannot detect a value, you can supply it with the tags below. Labels for gpu-model and cpus take precedence over agent-reported values when present. Labels for gpus and gpu-memory are used only when the agent does not report them.

TagDescriptionExample
gpus: <count>Number of GPUsgpus: 8
cpus: <count>Number of CPUscpus: 6
gpu-memory: <size>Per-GPU memory (M, MB, MiB, G, GB, GiB)gpu-memory: 80G
gpu-model: <model>GPU model. Takes precedence over the value reported by Stylus.gpu-model: NVIDIA A100-SXM4-80GB

The deprecated gpu-family tag is still accepted as a fallback for gpu-model and will be removed in a future release.

Refer to Edge Host Attributes for a full list of Edge host data automatically returned by Palette.

Role Eligibility Tags

By default, machines with GPUs are worker candidates only, and machines without GPUs are control plane candidates only. Override these defaults with the following tags.

TagEffect
palette.ai/control-plane: trueAllows a GPU machine to serve as a control plane node
palette.ai/worker: true Allows a non-GPU machine to serve as a worker node
warning

Do not apply both tags to the same machine. If you do, PaletteAI treats it as a worker only.

Resource Group Tags

Tags that begin with palette.ai.rg/ assign a machine to resource groups, which Compute Pools use to restrict host selection. Refer to Resource Groups in the ComputePool Configuration reference.

Spec Fields

The Compute inventory itself is maintained by the controller, but the Compute spec has fields you can set:

  • spec.settingsRef - The Settings resource that provides the Palette credentials used for discovery. If omitted, the Project's configured Settings is used.

  • spec.edgeHostNICSelections - Maps Edge host UIDs to the network interface (NIC) each host should use, when a host has more than one usable NIC.

  • spec.edgeHostStaticIPs - Maps Edge host UIDs to static network values (IP, subnet, gateway, DNS) for hosts that must not use DHCP. The cluster-level static IP mode is derived automatically from these entries during deployment.

warning

NIC selections and static IP values cannot be changed for hosts that are in-use. Update them while the host is available.

Status Reference

The controller reports discovered machines in the Compute status, grouped by hardware profile. Machine statuses are available, in-use, or unhealthy.

View the status with the following command.

kubectl get compute <compute-name> --namespace <namespace> --output yaml

The following example shows:

  • 2 control plane candidates with 4 CPUs each (1 available, 1 in-use)
  • 1 worker candidate with 8 NVIDIA H100 GPUs (available)
  • 1 worker candidate with 8 NVIDIA A100 GPUs (unhealthy), assigned to specific resource groups

Per-host network details appear under edgeHostDetails.

Example Compute status
status:
controlPlaneCompute:
- architecture: AMD64
cpuCount: 4
instances: 2
machines:
edge-5db0384219cfa0fa4ef97d53bf291b2e: available
edge-228638428bf0078309b65730b24101ee: in-use
workerCompute:
- architecture: AMD64
gpuVariant:
name: 'NVIDIA H100 PCIe | 80 GB'
model: 'NVIDIA H100 PCIe'
gpuCount: 8
perGPUMemory: '80 GB'
totalGPUMemory: '640 GB'
instances: 1
machines:
edge-e078384256765be6e92fc1118aa9f283: available
- architecture: AMD64
gpuVariant:
name: 'NVIDIA A100-SXM4-80GB | 80 GB'
model: 'NVIDIA A100-SXM4-80GB'
gpuCount: 8
perGPUMemory: '80 GB'
totalGPUMemory: '640 GB'
instances: 1
resourceGroups:
network-pool: '3'
storage-tier: 'high-performance'
machines:
edge-9baf38425dacad857c70ccdbabb48028: unhealthy
edgeHostDetails:
edge-5db0384219cfa0fa4ef97d53bf291b2e:
nics:
- name: ens160
ip: 10.10.142.73
subnet: 255.255.192.0
gateway: 10.10.128.1
dns: [10.10.128.8]
macAddr: 00:50:56:b8:58:61
isDefault: true
resolvedNIC: ens160
hasUsableNetworkValues: true
edge-e078384256765be6e92fc1118aa9f283:
nics:
- name: ens160
ip: 10.10.138.209
subnet: 255.255.192.0
gateway: 10.10.128.1
dns: [10.10.128.8]
macAddr: 00:50:56:b8:71:93
isDefault: true
resolvedNIC: ens160
hasUsableNetworkValues: true

Key status fields:

  • status.ready - Whether the Palette API is reachable and authenticated.
  • status.computeAvailable - Whether any unallocated machines exist.
  • status.controlPlaneCompute / status.workerCompute - Machines grouped by hardware profile, with per-machine status and any resource groups.
  • status.edgeHostDetails - Per-host network details, including detected NICs and whether the host has usable network values.