Skip to content

Commit decf411

Browse files
Merge pull request #234152 from divargas-msft/patch-1
[Doc-a-thon] Updating confidential-enclave-nodes-aks-get-started.md
2 parents 602b160 + 6588f4e commit decf411

File tree

1 file changed

+33
-19
lines changed

1 file changed

+33
-19
lines changed

articles/confidential-computing/confidential-enclave-nodes-aks-get-started.md

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: agowdamsft
55
ms.service: virtual-machines
66
ms.subservice: confidential-computing
77
ms.topic: quickstart
8-
ms.date: 3/1/2023
8+
ms.date: 04/11/2023
99
ms.author: amgowda
1010
ms.custom: contentperf-fy21q3, devx-track-azurecli, ignite-fall-2021, mode-api
1111
---
@@ -26,7 +26,6 @@ Features of confidential computing nodes include:
2626
> [!NOTE]
2727
> DCsv2/DCsv3 VMs use specialized hardware that's subject region availability. For more information, see the [available SKUs and supported regions](virtual-machine-solutions-sgx.md).
2828
29-
3029
## Prerequisites
3130

3231
This quickstart requires:
@@ -57,6 +56,7 @@ Now create an AKS cluster, with the confidential computing add-on enabled, by us
5756
```azurecli-interactive
5857
az aks create -g myResourceGroup --name myAKSCluster --generate-ssh-keys --enable-addons confcom
5958
```
59+
6060
The above command will deploy a new AKS cluster with system node pool of non confidential computing node. Confidential computing Intel SGX nodes are not recommended for system node pools.
6161

6262
### Add a user node pool with confidential computing capabilities to the AKS cluster<a id="add-a-user-node-pool-with-confidential-computing-capabilities-to-the-aks-cluster"></a>
@@ -79,9 +79,11 @@ az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
7979

8080
Use the `kubectl get pods` command to verify that the nodes are created properly and the SGX-related DaemonSets are running on DCsv2 node pools:
8181

82-
```console
83-
$ kubectl get pods --all-namespaces
82+
```bash
83+
kubectl get pods --all-namespaces
84+
```
8485

86+
```output
8587
kube-system sgx-device-plugin-xxxx 1/1 Running
8688
```
8789

@@ -122,21 +124,24 @@ az aks nodepool list --cluster-name myAKSCluster --resource-group myResourceGrou
122124

123125
Sign in to your existing AKS cluster to perform the following verification:
124126

125-
```console
127+
```bash
126128
kubectl get nodes
127129
```
128130

129131
The output should show the newly added *confcompool1* pool on the AKS cluster. You might also see other DaemonSets.
130132

131-
```console
132-
$ kubectl get pods --all-namespaces
133+
```bash
134+
kubectl get pods --all-namespaces
135+
```
133136

137+
```output
134138
kube-system sgx-device-plugin-xxxx 1/1 Running
135139
```
136140

137141
If the output matches the preceding code, your AKS cluster is now ready to run confidential applications.
138142

139143
## Deploy Hello World from an isolated enclave application <a id="hello-world"></a>
144+
140145
You're now ready to deploy a test application.
141146

142147
Create a file named *hello-world-enclave.yaml* and paste in the following YAML manifest. You can find this sample application code in the [Open Enclave project](https://github.com/openenclave/openenclave/tree/master/samples/helloworld). This deployment assumes that you've deployed the *confcom* add-on.
@@ -165,7 +170,8 @@ spec:
165170
sgx.intel.com/epc: 5Mi # This limit will automatically place the job into a confidential computing node and mount the required driver volumes. sgx limit setting needs "confcom" AKS Addon as referenced above.
166171
restartPolicy: Never
167172
backoffLimit: 0
168-
```
173+
```
174+
169175
Alternatively you can also do a node pool selection deployment for your container deployments as shown below
170176
171177
```yaml
@@ -199,35 +205,43 @@ spec:
199205
kubernetes.azure.com/sgx_epc_mem_in_MiB: 10
200206
restartPolicy: "Never"
201207
backoffLimit: 0
202-
```
208+
```
203209
204210
Now use the `kubectl apply` command to create a sample job that will open in a secure enclave, as shown in the following example output:
205211

206-
```console
207-
$ kubectl apply -f hello-world-enclave.yaml
212+
```bash
213+
kubectl apply -f hello-world-enclave.yaml
214+
```
208215

216+
```output
209217
job "sgx-test" created
210218
```
211219

212220
You can confirm that the workload successfully created a Trusted Execution Environment (enclave) by running the following commands:
213221

214-
```console
215-
$ kubectl get jobs -l app=sgx-test
222+
```bash
223+
kubectl get jobs -l app=sgx-test
224+
```
216225

226+
```output
217227
NAME COMPLETIONS DURATION AGE
218228
sgx-test 1/1 1s 23s
219229
```
220230

221-
```console
222-
$ kubectl get pods -l app=sgx-test
231+
```bash
232+
kubectl get pods -l app=sgx-test
233+
```
223234

235+
```output
224236
NAME READY STATUS RESTARTS AGE
225237
sgx-test-rchvg 0/1 Completed 0 25s
226238
```
227239

228-
```console
229-
$ kubectl logs -l app=sgx-test
240+
```bash
241+
kubectl logs -l app=sgx-test
242+
```
230243

244+
```output
231245
Hello world from the enclave
232246
Enclave called into host to print: Hello World!
233247
```
@@ -248,9 +262,9 @@ az aks delete --resource-group myResourceGroup --cluster-name myAKSCluster
248262

249263
## Next steps
250264

251-
* Run Python, Node, or other applications through confidential containers using ISV/OSS SGX wrapper software. Review [confidential container samples in GitHub](https://github.com/Azure-Samples/confidential-container-samples).
265+
- Run Python, Node, or other applications through confidential containers using ISV/OSS SGX wrapper software. Review [confidential container samples in GitHub](https://github.com/Azure-Samples/confidential-container-samples).
252266

253-
* Run enclave-aware applications by using the [enclave-aware Azure container samples in GitHub](https://github.com/Azure-Samples/confidential-computing/blob/main/containersamples/).
267+
- Run enclave-aware applications by using the [enclave-aware Azure container samples in GitHub](https://github.com/Azure-Samples/confidential-computing/blob/main/containersamples/).
254268

255269
<!-- LINKS -->
256270
[az-group-create]: /cli/azure/group#az_group_create

0 commit comments

Comments
 (0)