AKS system node pool naming convention
The CAF abbreviation for AKS system node pool is npsystem.
Names can be 1 to 12 characters long and allow lowercase alphanumerics only.
The name must be unique within the parent resource.
Naming rules
| CAF abbreviation | npsystem |
|---|---|
| Length | 1 to 12 characters |
| Allowed characters | Lowercase letters and numbers |
| Scope of uniqueness | Unique within the parent resource |
| CAF pattern | npsystem{workload}{environment}{region}{instance} |
Rules follow Microsoft's resource naming rules and CAF abbreviations. Some resource types have extra start/end character restrictions, so verify against the official docs before locking in a convention.
Naming Containers resources
Container Registry is globally unique and already has its own guide. AKS node pools are the sharp edge in this category, the system node pool name is capped at 12 characters (6 on Windows), far tighter than almost anything else in Azure, so short, functional names matter more here than anywhere else in the naming scheme.
A Container Apps environment groups multiple container apps the way a Service Bus namespace groups queues, name the environment for the shared platform boundary and the individual container app for the workload it runs. The common mistake is giving node pools descriptive names and hitting the character ceiling immediately, plan for the 12 character limit before you need it.
Example names
Generated by the same engine as the name generator, so length and character rules are already applied.
| Scenario | Generated name | Length |
|---|---|---|
| Payments API, production | npsystempaym Truncated to fit the 12-character limit. | 12/12 |
| Web app, development | npsystemweba Truncated to fit the 12-character limit. | 12/12 |
| Analytics with company prefix | npsystemanal Truncated to fit the 12-character limit. | 12/12 |
Naming in Terraform and Bicep
Build the name from variables so one module produces the right name in every environment. The 12-character limit is enforced in the expression.
locals {
aks_system_nodepool_name = substr(lower("npsystem${var.workload}${var.environment}${var.region}001"), 0, 12)
} var aksSystemNodepoolName = take(toLower('npsystem${workload}${environment}${region}001'), 12) Generate AKS system node pool names for your workload
Free, no login. Validation and Terraform, Bicep, or CSV export included.
Open in the generator →Related Containers resources
See the full list of Azure resource naming rules or read the complete CAF naming guide.