Skip to content

Commit e9ce0bd

Browse files
committed
Add AKS control plane errors article
1 parent 9d96911 commit e9ce0bd

File tree

4 files changed

+59
-11
lines changed

4 files changed

+59
-11
lines changed

AKS-Arc/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@
146146
items:
147147
- name: Troubleshoot & known issues
148148
href: aks-troubleshoot.md
149+
- name: Control plane configuration validation errors
150+
href: control-plane-validation-errors.md
149151
- name: K8sVersionValidation error
150152
href: cluster-k8s-version.md
151153
- name: Use diagnostic checker

AKS-Arc/configure-ssh-keys.md

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Configure SSH keys for a cluster in AKS enabled by Azure Arc
33
description: Learn how to configure SSH keys for an AKS Arc cluster.
4-
ms.date: 01/10/2025
4+
ms.date: 02/26/2025
55
ms.topic: how-to
66
author: sethmanheim
77
ms.author: sethm
@@ -71,16 +71,9 @@ You have three options for SSH key configuration:
7171
- Use an existing key stored in Azure and select from the stored keys.
7272
- Use an existing public key by providing the SSH public key value.
7373

74-
## Error message
74+
## Error messages
7575

76-
If you don't provide valid SSH key information during cluster creation and no SSH key exists, you receive error messages like the following:
77-
78-
- An RSA key file or key value must be supplied to SSH Key Value.
79-
- Control Plane: Missing Security Keys in Cluster Configuration.
80-
- LinuxProfile SSH public keys should be valid and non-empty.
81-
- Global LinuxProfile SSH public keys should be valid and non-empty.
82-
83-
To mitigate the issue, see [Create and manage SSH keys with the Azure CLI](/azure/virtual-machines/ssh-keys-azure-cli#generate-new-keys) to create the SSH keys. Then, see [Create Kubernetes clusters](aks-create-clusters-cli.md) for the interface you're using. If you're using the REST API, see [provisioned cluster instances](/rest/api/hybridcontainer/provisioned-cluster-instances) to create the provisioned cluster instance.
76+
For information about error messages that can occur when you create and deploy an AKS cluster on Azure Local, see the [Control plane configuration validation errors](control-plane-validation-errors.md) article.
8477

8578
## Next steps
8679

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
title: Control plane configuration validation errors
3+
description: Learn details about each control plane configuration validation error.
4+
author: sethmanheim
5+
ms.author: sethm
6+
ms.topic: concept-article
7+
ms.date: 02/26/2025
8+
9+
---
10+
11+
# Control plane configuration validation errors
12+
13+
This article describes how to identify and resolve [ControlPlaneConfigurationValidation](configure-ssh-keys.md) error codes that can occur when you create and deploy an AKS cluster on Azure Local.
14+
15+
## Symptoms
16+
17+
When you try to create an AKS Arc cluster, you receive an error message that appears as follows:
18+
19+
```json
20+
admission webhook "vhybridakscluster.kb.io" denied the request: {
21+
   "result": "Failed",
22+
   "validationChecks": [
23+
      {
24+
         "name": "ControlPlaneConfigurationValidation",
25+
         "message": "ControlPlane: Global LinuxProfile SSH public keys should be valid and non-empty. ssh: no key found",
26+
         "recommendation": "Please check https://aka.ms/AKSArcValidationErrors/ControlPlaneConfigurationValidation for recommendations"
27+
      }
28+
   ]
29+
}
30+
```
31+
32+
The following section describes the error messages that you might see when you encounter the **ControlPlaneConfigurationValidation** error code.
33+
34+
## Global LinuxProfile SSH public keys must be valid and non-empty
35+
36+
If you don't provide valid SSH key information during Kubernetes cluster creation and no SSH key exists, you receive error messages similar to the following:
37+
38+
- An RSA key file or key value must be supplied to SSH Key Value.
39+
- Control Plane: Missing Security Keys in Cluster Configuration.
40+
- LinuxProfile SSH public keys should be valid and non-empty.
41+
- Global LinuxProfile SSH public keys should be valid and non-empty.
42+
43+
To mitigate the issue, see [Generate and store SSH keys with the Azure CLI](ssh-keys-azure-cli.md#generate-new-keys) to create the SSH keys. Then, [see Create Kubernetes clusters](aks-create-clusters-cli.md) for the interface you're using. If you're using the REST API, see [provisioned cluster instances](/rest/api/hybridcontainer/provisioned-cluster-instances) to create the provisioned cluster instance.
44+
45+
## Control plane count and VM size
46+
47+
In Kubernetes, control plane nodes manage and orchestrate the cluster. They run key components such as API Server, etcd, scheduler, etc. Control plane nodes maintain cluster state, schedule workloads, and ensure high availability, often using multiple nodes for redundancy.
48+
49+
To successfully create an AKS Arc cluster, you must specify at least one control plane node count. Also, to maintain etcd quorum, the control plane node count should be an odd number. For more information about supported count and VM SKU options, see [Scale requirements for AKS on Azure Local](scale-requirements.md#support-count-for-aks-on-hci).
50+
51+
## Next steps
52+
53+
[Troubleshoot issues in AKS enabled by Azure Arc](aks-troubleshoot.md)

AKS-Arc/docfx.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
"feedback_product_url": "https://feedback.azure.com/d365community/forum/a2f8da29-b853-ec11-8f8e-0022481f2fe7",
5656
"breadcrumb_path": "/azure/aks/aksarc/breadcrumb/toc.json",
5757
"extendBreadcrumb": false,
58-
"manager":"femila",
58+
"manager":"lizross",
5959
"ms.service": "azure-stack",
6060
"recommendations": true,
6161
"zone_pivot_group_filename": "../azure-stack/zone-pivot-groups.json"

0 commit comments

Comments
 (0)