Skip to main content
Version: v1.4.x

Deploy a Single-Node Compute Pool

This guide describes how to deploy a single-node Compute Pool. A single-node Compute Pool uses one Edge host for both the Kubernetes control plane and workload scheduling. A cluster is automatically recognized as single-node when all three conditions are met: the control plane pool has exactly one node, the control plane is worker-eligible, and no worker pools are defined. You can deploy a single-node Compute Pool using the PaletteAI UI or YAML Kubernetes manifests.

warning

A single-node Compute Pool is not considered a High Availability (HA) setup. If the Edge host fails, the cluster and all workloads running on it become unavailable. Use single-node Compute Pools for development, experimentation, or non-critical deployments only.

Prerequisites​

Before you begin, confirm that you have the following PaletteAI resources configured.

  • A Project in Ready status

  • A Settings resource with valid Palette API credentials

  • A Profile Bundle of type Infrastructure or Fullstack

  • A Compute resource with available Edge hosts registered in Palette

  • Edge hosts with a resolved default NIC (and per-host static IP where required for multi-NIC hosts). Configure these on the Compute tab in Project Settings, Tenant Settings, or System Settings before provisioning.

  • A reserved Virtual IP (VIP) address for the cluster control plane endpoint

  • A user with Project Admin permissions. The Project Editor role has read-only access to Compute Pools.

Create a Compute Config​

Create a Compute Config that specifies a single control plane node with worker eligibility enabled and no worker pools.

  1. Log in to PaletteAI, and then open your Project.

  2. From the left main menu, select Settings, and then select the Compute Config tab.

  3. Select Create Compute Config. Follow the Create and Manage Compute Configs guide for details on each page, using the following single-node values on the Node Pool Defaults page.

    FieldValue
    Node CountSet to 1.
    Run workloads on control planeTurn on. The control plane node also schedules workloads.
    ArchitectureCPU architecture of the target Edge host (for example, AMD64 or ARM64).
    CPU CountTotal CPU cores the single node needs.
    MemoryTotal memory the single node needs.
    GPU Variant (Optional)GPU variant the single node needs. Expand GPU Resources and select Add GPU variant.
    Physical GPU Count (Optional)Total number of GPUs the single node needs. Required when a GPU variant is selected.
  4. Do not configure worker pool settings. A single-node cluster has no worker pools.

  5. On the Review page, confirm your settings, and then submit the Compute Config.

Resource Groups and Single-Node Host Selection​

Single-node Compute Pools use Control Plane Resource Groups (spec.clusterVariant.controlPlaneResourceGroups) to filter which Edge host PaletteAI selects. The control plane pool requirements define the hardware the single node needs (CPU, memory, and GPU). PaletteAI uses both the requirements and the control plane resource groups to select the Edge host.

Edge hosts tagged with both palette.ai/control-plane: true and palette.ai/worker: true appear only in worker inventory on the Compute resource. Their palette.ai.rg/<key> labels therefore surface under worker compute, not control plane compute. When the Compute Pool wizard detects single-node mode, it merges worker inventory resource groups into the Control Plane Resource Groups list so you can target a specific dual-role host.

The Compute Pool creation wizard presents Resource groups before Node config. Single-node mode is usually chosen on Node config (or pre-populated from a Compute Config). Use one of the following approaches so control plane resource groups stay selectable:

  1. Set a single-node Compute Config as the project default before you open Create Compute Pool. The wizard pre-populates single-node mode from that default, so the Resource groups step already includes worker inventory tags in the control plane list.

  2. Return to the Resource groups step after Node config. Complete Node config, apply your single-node Compute Config, then use the wizard's back navigation to open Resource groups again. The control plane list refreshes with worker inventory tags once single-node mode is inferred.

Reordering the wizard so Node config precedes Resource groups would remove the need for these workarounds, but that change is out of scope for this fix and left as a follow-up.

Resource group labels are assigned on Edge hosts in Palette (palette.ai.rg/<key>: "<value>"). PaletteAI reads them from Compute inventory; it does not infer resource groups from control plane or worker role labels alone.

Worker Resource Groups​

A single-node cluster never saves worker resource groups. PaletteAI applies only spec.clusterVariant.controlPlaneResourceGroups for host selection on a single-node pool, so a save from the Resource Groups tab leaves the resource's existing workerResourceGroups value untouched, and the wizard's review step reports Not saved (single-node cluster) for the Worker row.

When you edit an existing pool, set Control Plane Resource Groups to target a specific dual-role host. Any worker resource groups carried over from an earlier multi-node configuration stay on the resource but have no effect on host selection.

Create a Single-Node Compute Pool​

Create a Compute Pool that references the Compute Config you created. The control plane pool requirements you configure determine which Edge host PaletteAI selects for the single-node cluster.

  1. Log in to PaletteAI and navigate to your project.

  2. From the left main menu, select Compute Pools.

  3. Select Create Compute Pool.

  4. Complete the General information, Mode (select Dedicated resources), Profile Bundle, and Variables screens. Refer to Create and Manage Compute Pools for details on each screen.

    Select Next after completing each screen.

  5. On the Resource groups screen, optionally add Control Plane Resource Groups to restrict host selection. If you set a single-node Compute Config as the project default, the control plane list already includes worker inventory tags and you can configure resource groups here. Otherwise, you can skip this screen for now and return after Node config (described below).

    Select Next.

  6. On the Node config screen, select the gear icon in the top-right to open the Advanced settings drawer.

  7. From the Compute Config drop-down menu, select single-node-compute-config, and then select Apply. When the confirmation dialog appears, select Replace values.

    The Compute Config auto-populates the control plane pool with Node Count: 1, Run workloads on control plane enabled, and the hardware requirements (CPU, memory, GPU) you defined. These control plane pool requirements determine which Edge host PaletteAI selects for the single node.

  8. If you need to set Control Plane Resource Groups and skipped the Resource groups screen earlier, use the wizard's back navigation to return to Resource groups now that single-node mode is enabled. Add the key/value pairs that match your target Edge host's palette.ai.rg/ labels, then continue forward to Node config again if needed.

  9. Verify the control plane pool configuration matches your target Edge host. A single-node cluster has no worker pools.

    Select Next.

  10. On the Deployment screen, select Edge Configuration in the left panel, and then select Configure. Enter the VIP address for the cluster control plane endpoint, and then select Save changes.

    Select Next.

  11. On the Summary screen, review your configuration, and then select Submit.

Validate​

  1. Log in to PaletteAI and navigate to your project.

  2. From the left main menu, select Compute Pools.

  3. Confirm the Compute Pool appears with status Provisioning.

  4. Confirm the status changes to Running. Provisioning typically takes 10–15 minutes depending on Edge host availability.

  5. Select the Compute Pool to open its detail page, and then review the Total CPU and Total Memory stats to confirm they reflect a single edge host.

Next Steps​