Skip to content

Commit 700e6d8

Browse files
authored
Sync release-hotfixes with main
Sync release-hotfixes with main
2 parents 1a76866 + e2f562f commit 700e6d8

15 files changed

+159
-48
lines changed

AKS-Arc/TOC.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@
7676
href: deploy-load-balancer-portal.md
7777
# - name: Troubleshoot issues
7878
# href: load-balancer-troubleshoot.md
79+
- name: Security
80+
items:
81+
- name: Encrypt etcd secrets
82+
href: encrypt-etcd-secrets.md
7983
- name: AI and Machine Learning
8084
items:
8185
- name: Deploy an AI model with the AI toolchain operator

AKS-Arc/aks-overview.md

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: What is AKS enabled by Azure Arc?
33
description: Learn about AKS enabled by Azure Arc and available deployment options.
44
ms.topic: overview
5-
ms.date: 04/10/2025
5+
ms.date: 04/14/2025
66
author: sethmanheim
77
ms.author: sethm
88
ms.reviewer: abha
@@ -39,16 +39,11 @@ The following list describes some of the common use cases for AKS, but is not an
3939

4040
The available deployment options are as follows:
4141

42-
- **AKS on Azure Local**: AKS on Azure Local uses Azure Arc to create new Kubernetes clusters on Azure Local directly from Azure. It enables you to use familiar tools like the Azure portal and Azure Resource Manager templates to create and manage your Kubernetes clusters running on Azure Local.
43-
- **AKS Edge Essentials**: AKS Edge Essentials includes a lightweight Kubernetes distribution with a small footprint and simple installation experience, making it easy for you to deploy Kubernetes on PC-class or "light" edge hardware.
44-
- **AKS on Windows Server**: Azure Kubernetes Service on Windows Server (and on Azure Local) is an on-premises Kubernetes implementation of AKS that automates running containerized applications at scale, using Windows PowerShell and Windows Admin Center. It simplifies deployment and management of AKS on Windows Server 2019/2022 Datacenter and Azure Local.
45-
- **AKS on VMWare (preview)**: AKS on VMware (preview) enables you to use Azure Arc to create new Kubernetes clusters on VMware vSphere. With AKS on VMware, you can manage your AKS clusters running on VMware vSphere using familiar tools like Azure CLI.
42+
- [**AKS on Azure Local**](aks-whats-new-local.md): AKS on Azure Local uses Azure Arc to create new Kubernetes clusters on Azure Local directly from Azure. It enables you to use familiar tools like the Azure portal and Azure Resource Manager templates to create and manage your Kubernetes clusters running on Azure Local.
43+
- [**AKS Edge Essentials**](aks-edge-overview.md): AKS Edge Essentials includes a lightweight Kubernetes distribution with a small footprint and simple installation experience, making it easy for you to deploy Kubernetes on PC-class or "light" edge hardware.
44+
- [**AKS on VMWare (preview)**](aks-vmware-overview.md): AKS on VMware (preview) enables you to use Azure Arc to create new Kubernetes clusters on VMware vSphere. With AKS on VMware, you can manage your AKS clusters running on VMware vSphere using familiar tools like Azure CLI.
45+
- [**AKS on Windows Server**](overview.md): AKS on Windows Server is an on-premises Kubernetes implementation of AKS that automates running containerized applications at scale, using Windows PowerShell and Windows Admin Center. It simplifies deployment and management of AKS on Windows Server 2019/2022 Datacenter.
4646

4747
## Next steps
4848

49-
To get started with AKS enabled by Azure Arc, see the following deployment option overviews:
50-
5149
- [What's new in AKS on Azure Local](aks-whats-new-local.md)
52-
- [AKS on Windows Server](overview.md)
53-
- [AKS Edge Essentials](aks-edge-overview.md)
54-
- [AKS on VMware (preview)](aks-vmware-overview.md)

AKS-Arc/deploy-gpu-node-pool-22h2.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Use GPUs for compute-intensive workloads
2+
title: Use GPUs for compute-intensive workloads in AKS on Windows Server
33
description: Learn how to deploy GPU-enabled node pools in AKS on Windows Server.
44
author: sethmanheim
55
ms.topic: how-to
@@ -11,7 +11,7 @@ ms.lastreviewed: 03/21/2023
1111
# Keyword: Run GPU workloads on Kubernetes
1212
---
1313

14-
# Use GPUs for compute-intensive workloads
14+
# Use GPUs for compute-intensive workloads in AKS on Windows Server
1515

1616
[!INCLUDE [aks-hybrid-applies-to-azure-stack-hci-windows-server-sku](includes/aks-hci-applies-to-skus/aks-hybrid-applies-to-azure-stack-hci-windows-server-sku.md)]
1717

AKS-Arc/deploy-gpu-node-pool.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Use GPUs for compute-intensive workloads in AKS on Azure Local
33
description: Learn how to deploy GPU-enabled node pools in AKS enabled by Arc on Azure Local.
44
author: sethmanheim
55
ms.topic: how-to
6-
ms.date: 03/25/2025
6+
ms.date: 04/14/2025
77
ms.author: sethm
88
ms.lastreviewed: 03/21/2025
99
ms.reviewer: abha
@@ -17,7 +17,7 @@ ms.reviewer: abha
1717
[!INCLUDE [hci-applies-to-23h2](includes/hci-applies-to-23h2.md)]
1818

1919
> [!NOTE]
20-
> For information about GPUs in AKS on Azure Local 22H2, see [Use GPUs (Azure Local 22H2)](deploy-gpu-node-pool-22h2.md).
20+
> For information about GPUs in AKS on Windows Server, see [Use GPUs in AKS on Windows Server](deploy-gpu-node-pool-22h2.md).
2121
2222
Graphical Processing Units (GPU) are used for compute-intensive workloads such as machine learning, deep learning, and more. This article describes how to use GPUs for compute-intensive workloads in AKS enabled by Azure Arc.
2323

AKS-Arc/encrypt-etcd-secrets.md

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
---
2+
title: Encrypt etcd secrets for Kubernetes clusters in AKS on Azure Local
3+
description: Learn how to encrypt etcd secrets in AKS on Azure Local.
4+
author: sethmanheim
5+
ms.topic: how-to
6+
ms.date: 04/11/2025
7+
ms.author: sethm
8+
ms.lastreviewed: 04/10/2025
9+
ms.reviewer: khareanushka
10+
# Intent: As an IT Pro, I want to learn about encrypted etcd secrets and how they are used in my AKS deployment.
11+
# Keyword: etcd secrets AKS Windows Server
12+
13+
---
14+
15+
# How to: Encrypt etcd secrets for Kubernetes clusters
16+
17+
[!INCLUDE [hci-applies-to-23h2](includes/hci-applies-to-23h2.md)]
18+
19+
A [*secret*](https://kubernetes.io/docs/concepts/configuration/secret/) in Kubernetes is an object that contains a small amount of sensitive data, such as passwords and SSH keys. In the Kubernetes API server, secrets are stored in *etcd*, which is a highly available key value store used as the Kubernetes backing store for all cluster data.
20+
21+
Azure Kubernetes Service (AKS) on Azure Local comes with encryption of etcd secrets using a **Key Management Service (KMS) plugin**. All Kubernetes clusters in Azure Local have a built-in KMS plugin enabled by default. This plugin generates the [Key Encryption Key (KEK)](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/#kms-encryption-and-per-object-encryption-keys)
22+
and automatically rotates it every 30 days.
23+
24+
This article describes how to verify that the data is encrypted. For more information, see the [official Kubernetes documentation for the KMS plugin](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/).
25+
26+
> [!NOTE]
27+
> The KMS plugin currently uses the KMS v1 protocol.
28+
29+
## Before you begin
30+
31+
Before you begin, ensure that you have the following prerequisites:
32+
33+
- To interact with Kubernetes clusters, you must install [**kubectl**](https://kubernetes.io/docs/tasks/tools/) and [**kubelogin**](https://azure.github.io/kubelogin/install.html).
34+
- To view or manage secrets, ensure you have the necessary entitlements to access them. For more information, see [Access and identity](concepts-security-access-identity.md#built-in-roles).
35+
36+
## Access your Microsoft Entra-enabled cluster
37+
38+
Get the user credentials to access your cluster using the [az aksarc get-credentials](/cli/azure/aksarc#az-aksarc-get-credentials) command. You need the **Microsoft.HybridContainerService/provisionedClusterInstances/listUserKubeconfig/action** resource, which is included in the **Azure Kubernetes Service Arc Cluster User** role permission:
39+
40+
```azurecli
41+
az aksarc get-credentials --resource-group $resource_group --name $aks_cluster_name
42+
```
43+
44+
## Verify that the KMS plugin is enabled
45+
46+
To verify that the KMS plugin is enabled, run the following command and ensure that the health status of **kms-providers** is **OK**:
47+
48+
```azurecli
49+
kubectl get --raw='/readyz?verbose'
50+
```
51+
52+
```output
53+
[+]ping ok
54+
[+]Log ok
55+
[+]etcd ok
56+
[+]kms-providers ok
57+
[+]poststarthook/start-encryption-provider-config-automatic-reload ok
58+
```
59+
60+
## Verify that the data is encrypted
61+
62+
To verify that secrets and data has been encrypted using a KMS plugin, [see the Kubernetes documentation](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/#verifying-that-the-data-is-encrypted). You can use the following commands to verify that the data is encrypted:
63+
64+
```azurecli
65+
kubectl exec --stdin --tty <etcd pod name> -n kube-system --etcdctl --cacert /etc/kubernetes/pki/etcd/ca.crt --key /etc/kubernetes/pki/etcd/server.key --cert /etc/kubernetes/pki/etcd/server.crt get /registry/secrets/default/db-user-pass -w fields
66+
```
67+
68+
- `kubectl exec`: This is the kubectl command used to execute a command inside a running pod. It enables you to run commands within the container of a pod.
69+
- `--stdin`: This flag enables you to send input (stdin) to the command you are running inside the pod.
70+
- `--tty`: This flag allocates a TTY (terminal) for the command, making it behave as though you're interacting with a terminal session.
71+
- `<etcd pod name>`: to find the etcd pod name, run the following command:
72+
73+
```azurecli
74+
kubectl get pods -n kube-system | findstr etcd-moc
75+
```
76+
77+
- `-n kube-system`: Specifies the namespace where the pod is located. **kube-system** is the default namespace used by Kubernetes for system components, such as etcd and other control plane services.
78+
- `--etcdctl`: Reads the secret from etcd. Additional fields are used for authentication before you get access to etcd.
79+
80+
The following fields are returned in the command output:
81+
82+
```output
83+
"ClusterID" : <cluster id>
84+
"MemberID" : <member id>
85+
"Revision" : <revision number>
86+
"RaftTerm" : 2
87+
"Key" : <path to the key>
88+
"CreateRevision" : <revision number at the time the key was created>
89+
"ModRevision" : <revision number at the time the key was modified>
90+
"Version" : <version of the key-value pair in etcd>
91+
"Value" : "k8s:enc:kms:v1:kms-plugin: <encrypted secret value>"
92+
"Lease" : <lease associated with the secret>
93+
"More" : <indicates if there are more results>
94+
"Count" : <number of key-value pairs returned>
95+
```
96+
97+
After you run the command, examine the `Value` field in the output in the terminal window. This output shows the value stored in the etcd secret store for this key, which is the encrypted value of the secret. The value is encrypted using a KMS plugin. The `k8s:enc:kms:v1:` prefix indicates that Kubernetes is using the KMS v1 plugin to store the secret in an encrypted format.
98+
99+
> [!NOTE]
100+
> If you use the `kubectl describe secrets` command to retrieve secrets, it returns them in base64-encoded format, but unencrypted. The `kubectl describe` command retrieves the details of a Kubernetes resource via the API server, which manages encryption and decryption automatically. For sensitive data such as secrets, even if they are mounted on a pod, the API server ensures that they are decrypted when accessed. As a result, running the `kubectl describe` command does not display secrets in their encrypted form, but rather in their decrypted form if they are being used by a resource.
101+
102+
## Troubleshooting
103+
104+
If you encounter any errors with the KMS plugin, follow the procedure on the [Troubleshooting page](aks-troubleshoot.md) to troubleshoot the issue.
105+
106+
## Next steps
107+
108+
- [Encrypt etcd secrets for Kubernetes clusters in AKS on Windows Server](encrypt-secrets.md)
109+
- [Deploy a Linux application on a Kubernetes cluster](deploy-linux-application.md)
110+
- [Deploy a Windows Server application on a Kubernetes cluster](deploy-windows-application.md)

AKS-Arc/includes/supported-gpu-models.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
author: sethmanheim
33
ms.author: sethm
44
ms.topic: include
5-
ms.date: 03/25/2025
5+
ms.date: 04/14/2025
66
ms.reviewer: abha
7-
ms.lastreviewed: 03/25/2025
7+
ms.lastreviewed: 04/14/2025
88

99
---
1010

1111
## Supported GPU models
1212

13-
The following GPU models are supported by AKS on Azure Local, version 23H2:
13+
The following GPU models are supported by AKS on Azure Local.
1414

1515
| Manufacturer | GPU model | Supported version |
1616
|--------------|-----------|-------------------|
@@ -20,7 +20,7 @@ The following GPU models are supported by AKS on Azure Local, version 23H2:
2020

2121
## Supported GPU VM sizes
2222

23-
The following VM sizes for each GPU model are supported by AKS on Azure Local, version 23H2.
23+
The following VM sizes for each GPU model are supported by AKS on Azure Local.
2424

2525
### Nvidia T4 is supported by NK T4 SKUs
2626

adaptive-cloud/docfx.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@
4545
"feedback_system": "Standard",
4646
"permissioned-type": "public",
4747
"manager":"lizross",
48-
"ms.service": "azure-stack",
48+
"ms.service": "azure",
49+
"ms.subservice": "azure-adaptive-cloud",
4950
"tittleSuffix": "Azure Adaptive Cloud",
5051
"feedback_product_url": "https://feedback.azure.com/d365community/forum/5c778dec-0625-ec11-b6e6-000d3a4f0858",
5152
"feedback_help_link_url": "https://learn.microsoft.com/en-us/answers/tags/146/azure-arc"

adaptive-cloud/index.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ brand: azure
66
metadata:
77
title: Azure adaptive cloud documentation
88
description: Leverage cloud-native and AI technologies to work simultaneously across hybrid, multicloud, edge, and IoT.
9-
ms.service: azure-stack
9+
ms.service: azure
10+
ms.subservice: azure-adaptive-cloud
1011
ms.topic: hub-page
1112
author: asergaz
1213
ms.author: sergaz

azure-local/deploy/deployment-virtual.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: alkohli
55
ms.author: alkohli
66
ms.reviewer: alkohli
77
ms.topic: how-to
8-
ms.date: 02/20/2025
8+
ms.date: 04/08/2025
99
---
1010

1111
# Deploy a virtual Azure Local system
@@ -39,7 +39,7 @@ Before you begin, make sure that:
3939

4040
| Component | Minimum |
4141
| ------------- | -------- |
42-
| Processor| Intel VT-x or AMD-V, with support for nested virtualization. For more information, see [Does My Processor Support Intel&reg; virtualization technology?](https://www.intel.com/content/www/us/en/support/articles/000005486/processors.html).
42+
| Processor| Intel VT-x or AMD-V, with support for nested virtualization. For more information, see [Does My Processor Support Intel&reg; virtualization technology?](https://www.intel.com/content/www/us/en/support/articles/000005486/processors.html)
4343
| Memory| The physical host must have a minimum of 32 GB RAM for single virtual node deployments. The virtual host VM should have at least 24 GB RAM.<br><br>The physical host must have a minimum of 64 GB RAM for two virtual node deployments. Each virtual host VM should have at least 24 GB RAM for deployment and 32 GB for applying updates.|
4444
| Host network adapters| A single network adapter.|
4545
| Storage| 1 TB Solid state drive (SSD). |
@@ -54,9 +54,9 @@ Before you begin, make sure that each virtual host system can dedicate the follo
5454
| vCPUs | Four cores. |
5555
| Memory | A minimum of 24 GB. |
5656
| Networking | At least two network adapters connected to internal network. MAC spoofing must be enabled. |
57-
| Boot disk | One disk to install the Azure Stack HCI operating system from ISO. At least 200 GB |
57+
| Boot disk | One disk to install the Azure Stack HCI operating system from ISO. At least 200 GB. |
5858
| Hard disks for Storage Spaces Direct | Four dynamic expanding disks. Maximum disk size is 1024 GB. |
59-
| Data disks | At least 127 GB each. The size must be the same for each disk |
59+
| Data disks | At least 127 GB each. The size must be the same for each disk. |
6060
| Time synchronization in integration | Disabled. |
6161

6262
> [!NOTE]
@@ -359,4 +359,4 @@ Repeat the process above for extra nodes if you plan to test multi-node deployme
359359
360360
## Next steps
361361
362-
- [Register to Arc and assign permissions for deployment](deployment-arc-register-server-permissions.md)
362+
- [Register to Arc and assign permissions for deployment](deployment-arc-register-server-permissions.md).

azure-local/manage/collect-logs.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: alkohli
55
ms.author: alkohli
66
ms.topic: how-to
77
ms.service: azure-local
8-
ms.date: 11/11/2024
8+
ms.date: 04/08/2025
99
---
1010

1111
# Collect diagnostic logs for Azure Local (preview)
@@ -627,4 +627,4 @@ When requested, share the following information with Microsoft Support. Get this
627627

628628
## Next steps
629629

630-
- [Contact Microsoft Support](get-support.md)
630+
- [Contact Microsoft Support](get-support.md).

0 commit comments

Comments
 (0)