Skip to content

Commit b1a4c8a

Browse files
authored
Merge pull request #206388 from zr-msft/zr-aks-cvm
[AKS] add CVM doc
2 parents 4e358e9 + 057a334 commit b1a4c8a

File tree

5 files changed

+96
-19
lines changed

5 files changed

+96
-19
lines changed

articles/aks/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,8 @@
221221
href: use-multiple-node-pools.md
222222
- name: Use spot node pools
223223
href: spot-node-pool.md
224+
- name: Use CVM
225+
href: use-cvm.md
224226
- name: Use system node pools
225227
href: use-system-pools.md
226228
- name: Use WebAssembly System Interface (WASI) node pools

articles/aks/index.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ landingContent:
2626
url: intro-kubernetes.md
2727
- linkListType: whats-new
2828
links:
29+
- text: Use CVM (Preview)
30+
url: use-cvm.md
2931
- text: Automatically upgrade an AKS cluster
3032
url: auto-upgrade-cluster.md
3133
- text: Start/stop node pools

articles/aks/use-cvm.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
---
2+
title: Use Confidential Virtual Machines (CVM) in Azure Kubernetes Service (AKS) (Preview)
3+
description: Learn how to create Confidential Virtual Machines (CVM) node pools with Azure Kubernetes Service (AKS)
4+
services: container-service
5+
ms.topic: article
6+
ms.date: 08/01/2022
7+
8+
---
9+
10+
# Use Confidential Virtual Machines (CVM) in Azure Kubernetes Service (AKS) cluster (Preview)
11+
12+
You can use the generally available [confidential VM sizes (DCav5/ECav5)][cvm-announce] to add a node pool to your AKS cluster with CVM. Confidential VMs with AMD SEV-SNP support bring a new set of security features to protect date-in-use with full VM memory encryption. These features enable node pools with CVM to target the migration of highly sensitive container workloads to AKS without any code refactoring while benefiting from the features of AKS. The nodes in a node pool created with CVM use a customized Ubuntu 20.04 image specially configured for CVM. For more details on CVM, see [Confidential VM node pools support on AKS with AMD SEV-SNP confidential VMs][cvm].
13+
14+
Adding a node pool with CVM to your AKS cluster is currently in preview.
15+
16+
[!INCLUDE [preview features callout](./includes/preview/preview-callout.md)]
17+
18+
## Before you begin
19+
20+
- An Azure subscription. If you don't have an Azure subscription, you can create a [free account](https://azure.microsoft.com/free).
21+
- [Azure CLI installed](/cli/azure/install-azure-cli).
22+
- An existing AKS cluster in the *westus*, *eastus*, *westeurope*, or *northeurope* region.
23+
- The [DCasv5 and DCadsv5-series][cvm-subs-dc] or [ECasv5 and ECadsv5-series][cvm-subs-ec] SKUs available for your subscription.
24+
25+
## Limitations
26+
27+
The following limitations apply when adding a node pool with CVM to AKS:
28+
29+
- You can't use `--enable-fips-image`, ARM64, or Mariner.
30+
- You can't upgrade an existing node pool to use CVM.
31+
- The [DCasv5 and DCadsv5-series][cvm-subs-dc] or [ECasv5 and ECadsv5-series][cvm-subs-ec] SKUs must be available for your subscription in the region where the cluster is created.
32+
33+
## Add a node pool with the CVM to AKS
34+
35+
To add a node pool with the CVM to AKS, use `az aks nodepool add` and set `node-vm-size` to `Standard_DCa4_v5`. For example:
36+
37+
```azurecli-interactive
38+
az aks nodepool add \
39+
--resource-group myResourceGroup \
40+
--cluster-name myAKSCluster \
41+
--name cvmnodepool \
42+
--node-count 3 \
43+
--node-vm-size Standard_DC4as_v5
44+
```
45+
46+
## Verify the node pool uses CVM
47+
48+
To verify a node pool uses CVM, use `az aks nodepool show` and verify the `vmSize` is `Standard_DCa4_v5`. For example:
49+
50+
```azurecli-interactive
51+
az aks nodepool show \
52+
--resource-group myResourceGroup \
53+
--cluster-name myAKSCluster \
54+
--name cvmnodepool \
55+
--query 'vmSize'
56+
```
57+
58+
The following example command and output shows the node pool uses CVM:
59+
60+
```output
61+
az aks nodepool show \
62+
--resource-group myResourceGroup \
63+
--cluster-name myAKSCluster \
64+
--name cvmnodepool \
65+
--query 'vmSize'
66+
67+
"Standard_DC4as_v5"
68+
```
69+
70+
## Remove a node pool with CVM from an AKS cluster
71+
72+
To remove a node pool with CVM from an AKS cluster, use `az aks nodepool delete`. For example:
73+
74+
```azurecli-interactive
75+
az aks nodepool delete \
76+
--resource-group myResourceGroup \
77+
--cluster-name myAKSCluster \
78+
--name cvmnodepool
79+
```
80+
81+
## Next steps
82+
83+
In this article, you learned how to add a node pool with CVM to an AKS cluster. For more information about CVM, see [Confidential VM node pools support on AKS with AMD SEV-SNP confidential VMs][cvm].
84+
85+
<!-- LINKS - Internal -->
86+
[cvm]: ../confidential-computing/confidential-node-pool-aks.md
87+
[cvm-announce]: https://techcommunity.microsoft.com/t5/azure-confidential-computing/azure-confidential-vms-using-sev-snp-dcasv5-ecasv5-are-now/ba-p/3573747
88+
[cvm-subs-dc]: ../virtual-machines/dcasv5-dcadsv5-series.md
89+
[cvm-subs-ec]: ../virtual-machines/ecasv5-ecadsv5-series.md

articles/aks/use-multiple-node-pools.md

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -170,22 +170,6 @@ az aks nodepool add \
170170
--node-vm-size Standard_Dpds_v5
171171
```
172172

173-
### Add a confidential VM (with AMD SEV-SNP support) node pool (preview)
174-
AKS node pools now support the generally available [confidential VM sizes (DCav5/ECav5)](https://aka.ms/AMD-ACC-VMs-GA-Inspire-2022) to create confidential VM node pools. Confidential VMs with AMD SEV-SNP support bring a new set of security features to protect date-in-use with full VM memory encryption. This enables confidential VM node pools to target the migration of highly sensitive container workloads to AKS without any code refactoring while benefiting from the full AKS feature support. To learn more, check out our [latest offering](../confidential-computing/confidential-node-pool-aks.md).
175-
176-
[!INCLUDE [preview features callout](./includes/preview/preview-callout.md)]
177-
178-
Add a confidential node pool using the [az aks nodepool add][az-aks-nodepool-add] command. Specify the name *cvmnodepool*, and use the `--node-vm-size` parameter to specify the *Standard_DC2as_v5* size:
179-
180-
```azurecli-interactive
181-
az aks nodepool add \
182-
--resource-group myResourceGroup \
183-
--cluster-name myAKSCluster \
184-
--name cvmnodepool \
185-
--node-count 3 \
186-
--node-vm-size Standard_DC2as_v5 \
187-
```
188-
189173
### Add a node pool with a unique subnet
190174

191175
A workload may require splitting a cluster's nodes into separate pools for logical isolation. This isolation can be supported with separate subnets dedicated to each node pool in the cluster. This can address requirements such as having non-contiguous virtual network address space to split across node pools.
@@ -197,7 +181,7 @@ A workload may require splitting a cluster's nodes into separate pools for logic
197181

198182
* All subnets assigned to node pools must belong to the same virtual network.
199183
* System pods must have access to all nodes/pods in the cluster to provide critical functionality such as DNS resolution and tunneling kubectl logs/exec/port-forward proxy.
200-
* If you expand your VNET after creating the cluster you must update your cluster (perform any managed cluster operation but node pool operations don't count) before adding a subnet outside the original cidr. AKS will error out on the agent pool add now though we originally allowed it. The `aks-preview` Azure CLI extension (version 0.5.66+) now supports running `az aks update -g <resourceGroup> -n <clusterName>` without any optional arguments. This command will perform an update operation without making any changes, which can recover a cluster stuck in a failed state.
184+
* If you expand your VNET after creating the cluster you must update your cluster (perform any managed cluster operation but node pool operations don't count) before adding a subnet outside the original cidr. AKS will error-out on the agent pool add now though we originally allowed it. The `aks-preview` Azure CLI extension (version 0.5.66+) now supports running `az aks update -g <resourceGroup> -n <clusterName>` without any optional arguments. This command will perform an update operation without making any changes, which can recover a cluster stuck in a failed state.
201185
* In clusters with Kubernetes version < 1.23.3, kube-proxy will SNAT traffic from new subnets, which can cause Azure Network Policy to drop the packets.
202186
* Windows nodes will SNAT traffic to the new subnets until the node pool is reimaged.
203187
* Internal load balancers default to one of the node pool subnets (usually the first subnet of the node pool at cluster creation). To override this behavior, you can [specify the load balancer's subnet explicitly using an annotation][internal-lb-different-subnet].

articles/confidential-computing/confidential-node-pool-aks.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ In addition to the hardened security profile, confidential node pools on AKS als
2626

2727
:::image type="content" source="media/confidential-vm-node-pools-on-aks/snp-on-aks-architecture-image.png" alt-text="Graphic of VM nodes in AKS with encrypted code and data in confidential VM node pools 1 and 2, on top of the hypervisor":::
2828

29-
Get started and add confidential node pools to existing AKS cluster with [this quick start guide](../aks/use-multiple-node-pools.md#add-a-confidential-vm-with-amd-sev-snp-support-node-pool-preview).
29+
Get started and add confidential node pools to existing AKS cluster with [this quick start guide](../aks/use-cvm.md).
3030

3131
## Questions?
3232

3333
If you have questions about container offerings, please reach out to <[email protected]>.
3434

3535
## Next steps
3636

37-
- [Deploy a confidential node pool in your AKS cluster](../aks/use-multiple-node-pools.md#add-a-confidential-vm-with-amd-sev-snp-support-node-pool-preview)
37+
- [Deploy a confidential node pool in your AKS cluster](../aks/use-cvm.md)
3838
- Learn more about sizes and specs for [general purpose](../virtual-machines/dcasv5-dcadsv5-series.md) and [memory-optimized](../virtual-machines/ecasv5-ecadsv5-series.md) confidential VMs.

0 commit comments

Comments
 (0)