karpenter_arch
Description
The karpenter_arch parameter sets the CPU architecture for Karpenter workload nodes.
Default Value
The default value is empty (auto-detected from node_type).
Setting the Parameter
$ convox rack params set karpenter_arch=arm64 -r rackName
Updating parameters... OK
For mixed-architecture workloads:
$ convox rack params set karpenter_arch=amd64,arm64 -r rackName
Updating parameters... OK
Additional Information
- Validation: Must be
amd64,arm64, oramd64,arm64. Empty is the initial default (auto-detect), not a settable value. - Write the mixed value with no spaces:
amd64,arm64. - When unset, Karpenter auto-detects the architecture from the Rack's
node_typeinstance family, so enabling Karpenter on an existing Rack keeps the architecture that Rack was already running and this parameter does not need to be set. Convox Console Karpenter install templates pre-set the parameters a Karpenter Rack needs. - When both architectures are specified, Karpenter selects the optimal architecture based on pod requirements and instance availability.
- Once set, the parameter cannot be cleared back to auto-detect; set it explicitly to the desired value instead.
- With
karpenter_arch=amd64,arm64, Convox Builds produce a multi-architecture image index, so Services schedule onto either architecture with nonodeSelectorLabelspinning. - With a single value, Builds stay single-architecture and native to the node the build pod runs on. On a Rack with
build_node_enabled=true, that node comes from the build pool, whose architecture followsbuild_node_type, falling back tonode_type, notkarpenter_arch. Settingkarpenter_arch=arm64by hand on such a Rack whosenode_typeis x86 therefore moves the workload pool to arm64 while leaving the build pool on amd64. Setbuild_node_typeto a Graviton type in the same change, or every new Build produces an image the workload pool cannot run and Processes fail with an exec format error. A Rack that inherits both fromnode_typeis always consistent. With the defaultbuild_node_enabled=falsethere is no build pool, Builds run on workload nodes, andbuild_node_typehas no effect. - See Architecture Selection and Mixed-Architecture Racks for the full Build output matrix, including how an
additional_karpenter_nodepools_configentry with a differingarchalso switches the Rack into multi-architecture Builds.
See Also
- Karpenter for the full Karpenter configuration reference
- BuildArch for pinning an individual App's Build to one architecture
- build_node_type for the build node instance type
- node_type for primary node instance type