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. To achieve this, you configure a Compute Config that marks the control plane node as worker-eligible, then create a Compute Pool that references it. You can deploy a single-node Compute Pool using the PaletteAI UI or YAML Kubernetes manifests.
A single-node Compute Pool is not considered a highly available (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.
- UI Workflow
- YAML Workflow
-
A Project in
Readystatus -
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
-
A reserved Virtual IP (VIP) address for the cluster control plane endpoint
-
A user with Project Editor or Admin permissions
-
A Project in
Readystatus -
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
-
A reserved Virtual IP (VIP) address for the cluster control plane endpoint
-
kubectl installed and available in your
$PATH -
The
KUBECONFIGenvironment variable set to the path of the PaletteAI hub cluster'skubeconfigfile.export KUBECONFIG=<kubeconfig-location> -
A user with Project Editor or Admin permissions
Create a Compute Config
Create a Compute Config that specifies a single control plane node with worker eligibility enabled.
- UI Workflow
- YAML Workflow
-
Log in to PaletteAI, and then open your Project.
-
From the left main menu, select Project Settings, then select Compute Config.
-
Select Create Compute Config.
-
On the General information screen, enter a name for the Compute Config (for example,
single-node-compute-config). Select Next. -
(Optional) On the Edge configuration screen, configure NTP servers or network overlay settings. Select Next.
-
On the Control plane defaults screen, configure the following fields, then select Next.
Field Description Required Node Count Set to 1.✅ Single node cluster Toggle to deploy as a single-node cluster where one node serves as both the control plane node and worker node. ❌ Worker node eligible Enable to allow the control plane node to also run workloads. Required for single-node clusters. ✅ CPU Count Per-node minimum CPU count for each control plane node. ❌ Memory Per-node minimum memory for each control plane node. ❌ Architecture CPU architecture of the target Edge host (for example, AMD64orARM64). This value must match the Architecture you configure for Worker Pool 1.❌ Annotations Expand Metadata to add annotation key-value pairs to control plane nodes. ❌ Labels Expand Metadata to add label key-value pairs to control plane nodes. ❌ Taints Expand to add node taints. Each taint requires a Key, Value, and Effect. ❌ -
(Optional) On the Worker pool defaults screen, configure default settings for worker pools. In a single-node cluster, PaletteAI uses worker pool requirements to select the edge host, not the control plane settings. Select Next.
Field Description Required Architecture CPU architecture for each worker node (for example, AMD64orARM64).❌ Min Worker Nodes Minimum number of worker nodes to provision. ❌ CPU Count Per-node minimum CPU count for each worker node. ❌ Memory Per-node minimum memory for each worker node. ❌ GPU Family Compute family of the GPU (for example, NVIDIA A100).❌ GPU Count Total number of GPUs. Required when a GPU family is selected. ❌ GPU Memory Total GPU memory. ❌ Annotations Expand Metadata to add annotation key-value pairs to worker nodes. ❌ Labels Expand Metadata to add label key-value pairs to worker nodes. ❌ Taints Expand to add node taints. Each taint requires a Key, Value, and Effect. ❌ -
On the Review screen, confirm your settings, then select Submit.
-
Define a YAML manifest for the
ComputeConfig.single-node-compute-config.yamlapiVersion: spectrocloud.com/v1alpha1
kind: ComputeConfig
metadata:
name: single-node-compute-config
namespace: <project-namespace>
spec:
paletteClusterConfig:
defaults:
controlPlanePool:
nodeCount: 1
workerNodeEligible: true
architecture: <target-architecture>Replace
<project-namespace>with the namespace of your Project, and<target-architecture>with the CPU architecture of the target edge host (for example,AMD64orARM64). This value must match the Architecture you configure for Worker Pool 1. -
Apply the manifest.
kubectl apply --filename single-node-compute-config.yaml -
Verify the
ComputeConfigwas created.kubectl get computeconfig single-node-compute-config --namespace <project-namespace>Example OutputNAME AGE
single-node-compute-config 10s
Create a Single-Node Compute Pool
- UI Workflow
- YAML Workflow
Create a Compute Pool that references the Compute Config you created. The worker pool requirements you configure determine which Edge host PaletteAI selects for the single-node cluster.
-
Log in to PaletteAI and navigate to your project.
-
From the left main menu, select Compute Pools.
-
Select Create Compute Pool.
-
Complete the General information, Mode (select Dedicated resources), Profile Bundle, Variables, and Resource groups screens. Refer to Create and Manage Compute Pools for details on each screen.
Select Next after completing each screen.
-
On the Node config screen, select the gear icon in the top-right to open the Advanced settings drawer.
-
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 and Run workloads on control plane enabled. The CPU Count, Memory, and Architecture fields are also auto-populated but do not determine which edge host is selected. Edge host selection is driven by the worker pool requirements you configure in the next step.
-
In the Node Pools panel on the left, select Worker Pool 1 and configure it with the hardware requirements of the target Edge host.
Field Description Required Min Worker Nodes Set to 1.✅ Architecture CPU architecture of the target Edge host. ✅ GPU Family GPU family of the target Edge host. Expand GPU Resources and select Add GPU family. ❌ GPU Count Number of GPUs per node. Required when a GPU family is selected. ❌ GPU Memory GPU memory per node. ❌ Select Next.
-
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.
-
On the Summary screen, review your configuration, and then select Submit.
Create a Compute Pool by applying a manifest with worker eligibility and node count set directly in the spec. The worker pool requirements you configure determine which Edge host PaletteAI selects for the single-node cluster.
-
Define a YAML manifest for the
ComputePool.single-node-compute-pool.yamlapiVersion: spectrocloud.com/v1alpha1
kind: ComputePool
metadata:
name: single-node-compute-pool
namespace: <project-namespace>
spec:
profileBundleRef:
name: <profile-bundle-name>
namespace: <project-namespace>
cloudType: edge-native
clusterVariant:
dedicated:
paletteClusterDeploymentConfig:
cloudType: edge-native
nodePoolRequirements:
controlPlanePool:
nodeCount: 1
workerNodeEligible: true
architecture: <target-architecture>
workerPools:
- name: worker-pool-0
architecture: <target-architecture>
minWorkerNodes: 1
edge:
vip: <vip-address>Replace the following placeholders:
Placeholder Description <project-namespace>The namespace of your Project. <profile-bundle-name>The name of your Profile Bundle resource. <target-architecture>CPU architecture of the target Edge host (for example, AMD64orARM64). Both values must match.<vip-address>The reserved VIP address for the cluster control plane endpoint. -
Apply the manifest.
kubectl apply --filename single-node-compute-pool.yaml -
Verify the
ComputePoolwas created.kubectl get computepool single-node-compute-pool --namespace <project-namespace>Example OutputNAME AGE
single-node-compute-pool 10s
Validate
- UI Workflow
- YAML Workflow
-
Log in to Palette AI and navigate to your project.
-
From the left main menu, select Compute Pools.
-
Confirm the Compute Pool appears with status Provisioning.
-
Confirm the status changes to Running. Provisioning typically takes 10–15 minutes depending on Edge host availability.
-
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.
-
Confirm the Compute Pool status changes to
Running. Provisioning typically takes 10–15 minutes depending on Edge host availability.kubectl get computepool single-node-compute-pool --namespace <project-namespace>Example OutputNAME STATUS AGE
single-node-compute-pool Running 15m -
Confirm a single node is allocated by reviewing the Compute Pool details.
kubectl describe computepool single-node-compute-pool --namespace <project-namespace>In the output, verify that the control plane pool has
nodeCount: 1andworkerNodeEligible: true.
Next Steps
-
Create and Manage Compute Pools for standard multi-node Compute Pool configuration.
-
Deploy applications to your Compute Pool.
-
Troubleshoot common Compute Pool issues.