Skip to content

Commit 4c979d7

Browse files
committed
Initial draft of deployment page complete
1 parent bed5500 commit 4c979d7

File tree

1 file changed

+38
-27
lines changed

1 file changed

+38
-27
lines changed

articles/openshift/confidential-containers-deploy.md

Lines changed: 38 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.author: johnmarc
66
ms.service: azure-redhat-openshift
77
keywords: confidential containers, aro, deploy, openshift, red hat
88
ms.topic: how-to
9-
ms.date: 10/17/2024
9+
ms.date: 10/18/2024
1010
ms.custom: template-how-to
1111
---
1212

@@ -17,59 +17,70 @@ This article describes the steps required to deploy Confidential Containers for
1717

1818
**Part 1: Deploy OpenShift Sandboxed Containers**
1919

20-
1. Install the OpenShift Sandboxed Containers Operator.
20+
1. [Install the OpenShift Sandboxed Containers Operator](#install-the-openshift-sandboxed-containers-operator).
2121

22-
Create several manifest files and run commands to install and verify the Operator.
22+
Create manifest files and run commands to install and verify the Operator.
2323

24-
1. Create the peer pods secret.
24+
1. [Create the peer pods secret](#create-the-peer-pods-secret).
2525
1. Gather necessary Azure credentials.
2626
1. Generate and record RBAC content.
2727
1. Create peer pods secret manifest file.
2828

29-
1. Create the peer pods config map.
29+
1. [Create the peer pods config map](#create-the-peer-pods-config-map).
3030
1. Create the peer pods config file.
3131
1. Create the ConfigMap.
3232

33-
1. Create the Azure secret.
33+
1. [Create the Azure secret](#create-the-azure-secret).
3434
1. Generate SSH keys.
3535
1. Create a secret object.
3636
1. Delete the generated keys.
3737

3838

39-
40-
4139
**Part 2: Deploy Confidential Containers**
4240

43-
1. Install the Trustee Operator: Create and apply manifests to install the operator.
41+
1. [Install the Trustee Operator](#install-the-trustee-operator).
42+
43+
Create and apply manifests to install the operator.
4444

45-
1. Create the route for the Trustee: Create a secure route with edge TLS termination for the Trustee service.
46-
1. Run a command to create the route.
45+
1. [Create the route for the Trustee](#create-the-route-for-the-trustee).
46+
1. Create a secure route with edge TLS termination for the Trustee service.
4747
1. Set and record the TRUSTEE_HOST variable.
4848

49-
1. Enable the Confidential Containers feature gate: Create a config map to enable the Confidential Containers feature.
49+
1. [Enable the Confidential Containers feature gate](#enable-the-confidential-containers-feature-gate).
50+
51+
Create a config map to enable the Confidential Containers feature.
5052

51-
1. Update the peer pods config map:
53+
1. [Update the peer pods config map](#update-the-peer-pods-config-map).
5254
1. Retrieve necessary Azure resource information (resource group, VNet name, subnet ID, NSG ID, region) using Azure CLI commands.
5355
1. Create a YAML file containing the retrieved information and the TRUSTEE_HOST value.
5456
1. Run a command to apply the updated configuration.
5557
1. Restart the `peerpodconfig-ctrl-caa-daemon` daemon set.
5658

57-
1. Create the KataConfig custom resource: Install kata-remote as the runtime class.
59+
1. [Create the KataConfig custom resource](#create-the-kataconfig-custom-resource).
5860
1. Create a YAML file defining the KataConfig configuration.
5961
1. Run a command to apply the configuration.
6062
1. Monitor and verify the installation process.
6163

62-
1. Create the Trustee authentication secret: Generate private and public keys and create a secret object.
63-
64-
1. Create the Trustee config map: This defines configuration for the Trustee service.
64+
1. [Create the Trustee authentication secret](#create-the-trustee-authentication-secret).
65+
1. Generate private and public keys
66+
1. Create a secret object.
67+
68+
1. [Create the Trustee config map](#create-the-trustee-config-map).
6569
1. Create a YAML file containing the Trustee configuration.
6670
1. Run a command to apply the configuration.
6771

68-
1. Configure attestation policies (optional): Additional configurations for reference values, client secrets, resource access policies, and attestation policies.
72+
1. [Configure attestation policies (optional)](#configure-attestation-policies).
73+
74+
Additional configurations for reference values, client secrets, resource access policies, and attestation policies.
6975

70-
1. Create the KbsConfig custom resource: Create the KbsConfig custom resource (CR) to launch Trustee and check the Trustee pods and pod logs to verify the configuration.
76+
1. [Create the KbsConfig custom resource](#create-the-kbsconfig-custom-resource).
7177

72-
1. Verify the attestation process: Create a test pod and retrieve its secret to verify the attestation process.
78+
1. Create the KbsConfig custom resource to launch Trustee.
79+
1. Check the Trustee pods and pod logs to verify the configuration.
80+
81+
1. [Verify the attestation process](#verify-the-attestation-process).
82+
83+
Create a test pod and retrieve its secret to verify the attestation process.
7384

7485
## Part 1: Deploy OpenShift sandboxed containers
7586

@@ -266,7 +277,7 @@ By default, the OpenShift sandboxed containers Operator creates the secret based
266277
- `AZURE_INSTANCE_SIZES` lists all of the instance sizes you can specify when creating the pod. This allows you to define smaller instance sizes for workloads that need less memory and fewer CPUs or larger instance sizes for larger workloads.
267278
- Specify the `AZURE_SUBNET_ID` value that you retrieved.
268279
- Specify the `AZURE_NSG_ID` value that you retrieved.
269-
- `AZURE_IMAGE_ID` is optional. By default, this value is populated when you run the KataConfig CR, using an Azure image ID based on your cluster credentials. If you create your own Azure image, specify the correct image ID.
280+
- `AZURE_IMAGE_ID` is optional. By default, this value is populated when you run the KataConfig custom resource, using an Azure image ID based on your cluster credentials. If you create your own Azure image, specify the correct image ID.
270281
- Specify the `AZURE_REGION` value you retrieved.
271282
- Specify the `AZURE_RESOURCE_GROUP` value you retrieved.
272283
@@ -399,7 +410,7 @@ Create a secure route with edge TLS termination for Trustee. External ingress tr
399410
400411
### Enable the Confidential Containers feature gate
401412
402-
1. Create a cc-feature-gate.yaml manifest file:
413+
1. Create a `cc-feature-gate.yaml` manifest file:
403414
404415
```
405416
apiVersion: v1
@@ -471,7 +482,7 @@ Create a secure route with edge TLS termination for Trustee. External ingress tr
471482
- `AZURE_INSTANCE_SIZES` lists all of the instance sizes you can specify when creating the pod. This allows you to define smaller instance sizes for workloads that need less memory and fewer CPUs or larger instance sizes for larger workloads.
472483
- Specify the `AZURE_SUBNET_ID` value that you retrieved.
473484
- Specify the `AZURE_NSG_ID` value that you retrieved.
474-
- `AZURE_IMAGE_ID` (Optional): By default, this value is populated when you run the KataConfig CR, using an Azure image ID based on your cluster credentials. If you create your own Azure image, specify the correct image ID.
485+
- `AZURE_IMAGE_ID` (Optional): By default, this value is populated when you run the KataConfig custom resource, using an Azure image ID based on your cluster credentials. If you create your own Azure image, specify the correct image ID.
475486
- Specify the `AZURE_REGION` value you retrieved.
476487
- Specify the `AZURE_RESOURCE_GROUP` value you retrieved.
477488
- `AA_KBC_PARAMS` specifies the host name of the Trustee route.
@@ -508,11 +519,11 @@ Create a secure route with edge TLS termination for Trustee. External ingress tr
508519
509520
Optional: If you have applied node labels to install kata-remote on specific nodes, specify the key and value, for example, cc: 'true'.
510521
511-
1. Create the KataConfig CR by running the following command:
522+
1. Create the KataConfig custom resource by running the following command:
512523
513524
`$ oc apply -f example-kataconfig.yaml`
514525
515-
The new KataConfig CR is created and installs kata-remote as a runtime class on the worker nodes.
526+
The new KataConfig custom resource is created and installs kata-remote as a runtime class on the worker nodes.
516527
517528
> [!NOTE]
518529
> Wait for the kata-remote installation to complete and the worker nodes to reboot before verifying the installation.
@@ -778,7 +789,7 @@ If your TEE is Intel Trust Domain Extensions (TDX), you must configure the Provi
778789
779790
### Create the KbsConfig custom resource
780791
781-
You must create the KbsConfig custom resource (CR) to launch Trustee. Then, you check the Trustee pods and pod logs to verify the configuration.
792+
You must create the KbsConfig custom resource to launch Trustee. Then, you check the Trustee pods and pod logs to verify the configuration.
782793
783794
1. Create a `kbsconfig-cr.yaml` manifest file:
784795
@@ -803,7 +814,7 @@ You must create the KbsConfig custom resource (CR) to launch Trustee. Then, you
803814
kbsResourcePolicyConfigMapName: resource-policy
804815
```
805816
806-
1. Create the KbsConfig CR by running the following command:
817+
1. Create the KbsConfig custom resource by running the following command:
807818
808819
`$ oc apply -f kbsconfig-cr.yaml`
809820

0 commit comments

Comments
 (0)