-
Notifications
You must be signed in to change notification settings - Fork 1.8k
OCPBUG26050: Added a section for day2 operator for azure disk encryption sets. #72130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,32 @@ | ||||||||
| :_mod-docs-content-type: ASSEMBLY | ||||||||
| [id="enabling-user-managed-encryption-azure"] | ||||||||
| = Enabling user-managed encryption for Azure | ||||||||
| include::_attributes/common-attributes.adoc[] | ||||||||
| :context: enabling-user-managed-encryption-azure | ||||||||
|
|
||||||||
| toc::[] | ||||||||
|
|
||||||||
| In {product-title} version {product-version}, you can install a cluster with a user-managed encryption key in {azure-first}. To enable this feature, you can prepare an {azure-short} `DiskEncryptionSet` before installation, modify the `install-config.yaml` file, and then complete the installation. | ||||||||
|
|
||||||||
| // Preparing an Azure Disk Encryption Set | ||||||||
| include::modules/installation-azure-preparing-diskencryptionsets.adoc[leveloffset=+1] | ||||||||
|
|
||||||||
| // Preparing an Azure Disk Encryption Set for Day2 Operator | ||||||||
| include::modules/installation-azure-day2-operations-diskencryptionsets.adoc[leveloffset=+1] | ||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Day 2 or post-installation? From my time on the installation team, they preferred post-isntallation.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @jinyunma can you take a look? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This section is applied optionally on running cluster, I thinks day2 should be okay. During installation (day1), installer supports to enable disk encryption with both platform-managed keys and with customer-managed keys. If enabling with customer-managed keys, user needs to create resource disk encryption set to provide those keys, that's what describes in section Preparing an Azure Disk Encryption Set For day2 operation, only encryption at host with platform-managed keys is verified with steps described in this PR. How about to update as "Enable disk encryption with platform-managed keys on day2"? |
||||||||
|
|
||||||||
| [id="enabling-disk-encrytpion-additional-resources"] | ||||||||
| == Additional resources | ||||||||
|
|
||||||||
| * link:https://learn.microsoft.com/en-us/azure/virtual-machines/disks-enable-host-based-encryption-portal?tabs=azure-cli#prerequisites[Use the {azure-short} portal to enable end-to-end encryption using encryption at host] ({azure-full} documentation) | ||||||||
|
|
||||||||
| * xref:../../nodes/nodes/nodes-nodes-working.adoc#nodes-nodes-working-evacuating_nodes-nodes-working[Understanding how to evacuate pods on nodes] | ||||||||
|
|
||||||||
| [id="enabling-disk-encryption-sets-azure-next-steps"] | ||||||||
| == Next steps | ||||||||
|
|
||||||||
| * Depending on your infrastructure preferences, install an {product-title} cluster by completing the instructions in one of the following documents: | ||||||||
| ** xref:../../installing/installing_azure/ipi/installing-azure-customizations.adoc#installing-azure-customizations[Install a cluster with customizations on installer-provisioned infrastructure] | ||||||||
| ** xref:../../installing/installing_azure/ipi/installing-azure-network-customizations.adoc#installing-azure-network-customizations[Install a cluster with network customizations on installer-provisioned infrastructure] | ||||||||
| ** xref:../../installing/installing_azure/ipi/installing-azure-vnet.adoc#installing-azure-vnet[Install a cluster into an existing VNet on installer-provisioned infrastructure] | ||||||||
| ** xref:../../installing/installing_azure/ipi/installing-azure-private.adoc#installing-azure-private[Install a private cluster on installer-provisioned infrastructure] | ||||||||
| ** xref:../../installing/installing_azure/ipi/installing-azure-government-region.adoc#installing-azure-government-region[Install a cluster into an government region on installer-provisioned infrastructure] | ||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,83 @@ | ||
| //Module included in the following assemblies: | ||
| // | ||
| // * installing/installing_azure/enabling-disk-encryption-sets-azure.adoc | ||
|
|
||
| :_mod-docs-content-type: PROCEDURE | ||
| [id="preparing-disk-encryption-sets-day2-operator_{context}"] | ||
| = Preparing an Azure Disk Encryption Set for Day2 Operator | ||
|
|
||
| The {product-title} installation program can use an existing Disk Encryption Set with a user-managed key. To enable this feature, create a `DiskEncryptionSet` in Azure and provide the key to the installation program. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Based on #72130 (comment), suggest to update here too, something like:
|
||
|
|
||
| .Prerequisite | ||
|
|
||
| * You enabled the `EncryptionAtHost` feature in your {ausre-short} subscription. For more information, see "Use the Azure portal to enable end-to-end encryption using encryption at host". | ||
|
|
||
| .Procedure | ||
|
|
||
| . Mark the node from the `encyptionAtHost` cluster resource group as unschedulable by using the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc adm cordon <node_name> | ||
| ---- | ||
subhtk marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| . Evacuate the pods from the compute node. There are several ways to do this. For example, you can evacuate all the pods or the selected pods on a node: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc adm drain <compute_node> [--pod-selector=<pod_selector>] | ||
| ---- | ||
| + | ||
| [NOTE] | ||
| ==== | ||
| For other options to evacuate pods from a node, see the "Understanding how to evacuate pods on nodes" section. | ||
| ==== | ||
|
|
||
| . De-allocate the node by running the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ az vm deallocate -n <node_name> -g <cluster_resource_group> | ||
| ---- | ||
|
|
||
| . Set the `encryptionAtHost` property to `true` by running the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ az vm update -n <node_name> -g <cluster_resource_group> --set securityProfile.encryptionAtHost=true | ||
| ---- | ||
|
|
||
| . Start the node by running the following commands: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ az vm start -n <node_name> -g <cluster_resource_group> | ||
| ---- | ||
|
|
||
| . Mark the node as schedulable by using the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc adm uncordon <node_name> | ||
| ---- | ||
|
|
||
| . Verify that all cluster Operators are available: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc get clusteroperators | ||
| ---- | ||
| + | ||
| All Operators should show `AVAILABLE=True`, `PROGRESSING=False`, and `DEGRADED=False`. | ||
|
|
||
| . Repeat the above steps on all the nodes that run `encryptionAtHost`. | ||
|
|
||
| [NOTE] | ||
| ==== | ||
| If you want to enable encryption for your host during cluster installation, specify the following parameters in the `install-config.yaml` file: | ||
|
|
||
| * `compute.platform.azure.encryptionAtHost` | ||
| * `controlPlane.platform.azure.encryptionAtHost` | ||
| * `platform.azure.defaultMachinePlatform.encryptionAtHost` | ||
|
|
||
| ==== | ||
Uh oh!
There was an error while loading. Please reload this page.