Skip to content

Commit caaa281

Browse files
authored
Merge pull request #40085 from pneedle-rh/osdocs-2736-adding-etcd-encryption-steps
OSDOCS-2736 - Adding etcd encryption steps for OSD and ROSA
2 parents ea9fac0 + a4b25c7 commit caaa281

9 files changed

+54
-19
lines changed

modules/create-aws-cluster.adoc

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
[id="create-aws-cluster_{context}"]
66
= Creating a cluster on AWS
77

8-
98
You can create an {product-title} cluster on {AWS} using a standard cloud account owned by Red Hat or with your own cloud account using the Customer Cloud Subscription (CCS) model.
109

1110
Using the CCS model to deploy and manage {product-title} into your AWS account requires several prerequisites to be met.
@@ -64,7 +63,6 @@ Revoking these credentials in AWS will result in a loss of access to any cluster
6463
.... Host Prefix: /23
6564

6665
... Select your preferred cluster privacy. *Public* is selected by default.
67-
6866
+
6967
[IMPORTANT]
7068
====
@@ -73,6 +71,15 @@ CIDR configurations cannot be changed later. Confirm your selections with your n
7371
If the cluster privacy is set to *Private*, you will not be able to access your cluster until you configure private connections in your cloud provider.
7472
====
7573

74+
. Optional: Select *Enable etcd encryption* if you require etcd key value encryption. With this option, the etcd key values are encrypted, but not the keys. The option is in addition to the control plane storage encryption that encrypts the etcd volumes in {product-title} clusters by default.
75+
+
76+
[IMPORTANT]
77+
====
78+
By enabling etcd encryption for the key values in etcd, you will incur a performance overhead of approximately 20%. The overhead is a result of introducing this second layer of encryption, in addition to the default control plane storage encryption that encrypts the etcd volumes. Red Hat recommends that you enable etcd encryption only if you specifically require it for your use case.
79+
====
80+
81+
. Leave *Enable user workload monitoring* selected to monitor your own projects in isolation from Red Hat Site Reliability Engineer (SRE) platform metrics. The option is enabled by default.
82+
7683
. Select your cluster update method.
7784
** *Manual* is selected by default. With this option, you are responsible for updating your cluster. If your cluster version falls too far behind, it will be automatically updated.
7885
** Select *Automatic* if you want your cluster to be automatically upgraded when new versions are available. If you opt for automatic upgrades, you must specify the preferred day of the week and the time (UTC) for the upgrade to start.

modules/create-gcp-cluster.adoc

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
[id="create-gcp-cluster_{context}"]
66
= Creating a cluster on GCP
77

8-
98
You can create an {product-title} cluster on {GCP} using a standard cloud account owned by Red Hat or with your own cloud account using the Customer Cloud Subscription (CCS) model.
109

1110
Using the CCS model to deploy and manage {product-title} into your GCP account requires several prerequisites to be met.
@@ -69,7 +68,6 @@ The project name must be 10 characters or less.
6968
.... Host Prefix: /23
7069

7170
... If you are creating a CCS {product-title} cluster, you can enable private clusters. This option is not available for standard clusters. Select your preferred cluster privacy. *Private* is selected by default.
72-
7371
+
7472
[IMPORTANT]
7573
====
@@ -78,7 +76,14 @@ CIDR configurations cannot be changed later. Confirm your selections with your n
7876
If the cluster privacy is set to *Private*, you will not be able to access your cluster until you configure private connections in your cloud provider.
7977
====
8078

79+
. Optional: Select *Enable etcd encryption* if you require etcd key value encryption. With this option, the etcd key values are encrypted, but not the keys. The option is in addition to the control plane storage encryption that encrypts the etcd volumes in {product-title} clusters by default.
80+
+
81+
[IMPORTANT]
82+
====
83+
By enabling etcd encryption for the key values in etcd, you will incur a performance overhead of approximately 20%. The overhead is a result of introducing this second layer of encryption, in addition to the default control plane storage encryption that encrypts the etcd volumes. Red Hat recommends that you enable etcd encryption only if you specifically require it for your use case.
84+
====
8185

86+
. Leave *Enable user workload monitoring* selected to monitor your own projects in isolation from Red Hat Site Reliability Engineer (SRE) platform metrics. The option is enabled by default.
8287

8388
. Select your cluster update method.
8489
** *Manual* is selected by default. With this option, you are responsible for updating your cluster. If your cluster version falls too far behind, it will be automatically updated.

modules/rosa-sdpolicy-security.adoc

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
21
// Module included in the following assemblies:
32
//
4-
// * assemblies/rosa-service-definition.adoc
3+
// * rosa_policy/rosa-service-definition.adoc
54

65
[id="rosa-sdpolicy-security_{context}"]
76
= Security
@@ -63,17 +62,17 @@ With {product-title}, AWS provides a standard DDoS protection on all load balanc
6362

6463
In {product-title}, the control plane storage is encrypted at rest by default and this includes encryption of the etcd volumes. This storage-level encryption is provided through the storage layer of the cloud provider.
6564

66-
You can also enable etcd encryption, which encrypts the key values in etcd state, but not the keys. If you enable etcd encryption, the following Kubernetes API server and OpenShift API server resources are encrypted:
65+
You can also enable etcd encryption, which encrypts the key values in etcd, but not the keys. If you enable etcd encryption, the following Kubernetes API server and OpenShift API server resources are encrypted:
6766

6867
* Secrets
6968
* Config maps
7069
* Routes
7170
* OAuth access tokens
7271
* OAuth authorize tokens
7372

74-
The etcd encryption feature is not enabled by default and it can be enabled only at cluster installation time.
73+
The etcd encryption feature is not enabled by default and it can be enabled only at cluster installation time. Even with etcd encryption enabled, the etcd key values are accessible to anyone with access to the control plane nodes or `cluster-admin` privileges.
7574

7675
[IMPORTANT]
7776
====
78-
By enabling etcd encryption for the key values in etcd state, you might incur a performance overhead of approximately 20%. Red Hat only recommends that you enable etcd encryption in addition to the default storage-level encryption if you specifically require this for your use case.
77+
By enabling etcd encryption for the key values in etcd, you will incur a performance overhead of approximately 20%. The overhead is a result of introducing this second layer of encryption, in addition to the default control plane storage encryption that encrypts the etcd volumes. Red Hat recommends that you enable etcd encryption only if you specifically require it for your use case.
7978
====

modules/rosa-sts-creating-a-cluster-with-customizations.adoc

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ You can reference the ARN of your KMS key when you create the cluster in the nex
9999
$ rosa create cluster --interactive --sts
100100
----
101101
+
102+
--
102103
.Example output
103104
[source,terminal]
104105
----
@@ -124,10 +125,11 @@ I: Using arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role for th
124125
? Service CIDR: 172.30.0.0/16
125126
? Pod CIDR: 10.128.0.0/14
126127
? Host prefix: 23
128+
? Encrypt etcd data (optional): No <5>
127129
? Disable Workload monitoring (optional): No
128130
I: Creating cluster '<cluster_name>'
129131
I: To create this cluster again in the future, you can run:
130-
rosa create cluster --cluster-name <cluster_name> --role-arn arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role --support-role-arn arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role --master-iam-role arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role --worker-iam-role arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role --operator-roles-prefix <cluster_name>-<random_string> --region us-east-1 --version 4.8.9 --compute-nodes 2 --machine-cidr 10.0.0.0/16 --service-cidr 172.30.0.0/16 --pod-cidr 10.128.0.0/14 --host-prefix 23 <5>
132+
rosa create cluster --cluster-name <cluster_name> --role-arn arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role --support-role-arn arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role --master-iam-role arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role --worker-iam-role arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role --operator-roles-prefix <cluster_name>-<random_string> --region us-east-1 --version 4.8.9 --compute-nodes 2 --machine-cidr 10.0.0.0/16 --service-cidr 172.30.0.0/16 --pod-cidr 10.128.0.0/14 --host-prefix 23 <6>
131133
I: To view a list of clusters and their status, run 'rosa list clusters'
132134
I: Cluster '<cluster_name>' has been created.
133135
I: Once the cluster is installed you will need to add an Identity Provider before you can login into the cluster. See 'rosa create idp --help' for more information.
@@ -138,13 +140,18 @@ I: To watch your cluster installation logs, run 'rosa logs install -c <cluster_n
138140
<2> If more than one matching set of account-wide roles are available in your account for a cluster version, an interactive list of options is provided.
139141
<3> Multiple availability zones are recommended for production workloads. The default is a single availability zone.
140142
<4> Enable this option if you are using your own AWS KMS key to encrypt the control plane data volumes and the PVs for your applications. Specify the ARN for the KMS key that you added the account-wide role ARN to in the preceding step.
141-
<5> The output includes a custom command that you can run to create a cluster with the same configuration in the future.
143+
<5> Enable this option only if your use case requires etcd key value encryption in addition to the control plane storage encryption that encrypts the etcd volumes by default. With this option, the etcd key values are encrypted, but not the keys.
142144
+
143-
[NOTE]
145+
[IMPORTANT]
144146
====
145-
As an alternative to using the `--interactive` mode, you can specify the customization options directly when you run `rosa create cluster`. Run `rosa create cluster --help` to view a list of available CLI options.
147+
By enabling etcd encryption for the key values in etcd, you will incur a performance overhead of approximately 20%. The overhead is a result of introducing this second layer of encryption, in addition to the default control plane storage encryption that encrypts the etcd volumes. Red Hat recommends that you enable etcd encryption only if you specifically require it for your use case.
146148
====
147149
+
150+
<6> The output includes a custom command that you can run to create a cluster with the same configuration in the future.
151+
--
152+
+
153+
As an alternative to using the `--interactive` mode, you can specify the customization options directly when you run `rosa create cluster`. Run `rosa create cluster --help` to view a list of available CLI options.
154+
+
148155
[IMPORTANT]
149156
====
150157
You must complete the following steps to create the Operator IAM roles and the OpenID Connect (OIDC) provider to move the state of the cluster to `ready`.

modules/rosa-sts-interactive-mode-reference.adoc

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
You can create a {product-title} cluster with the AWS Security Token Service (STS) by using the interactive mode. You can enable the mode by specifying the `--interactive` option when you run `rosa create cluster`. The following table describes the interactive mode options.
99

1010
.`--interactive` mode options
11-
[cols="1,2",options="header"]
11+
[cols=".^2,.^3a",options="header"]
1212
|===
1313

1414
|Field|Description
@@ -64,6 +64,14 @@ You can create a {product-title} cluster with the AWS Security Token Service (ST
6464
|`Host prefix`
6565
|Specify the subnet prefix length assigned to pods scheduled to individual machines. The host prefix determines the pod IP address pool for each machine. For example, if the host prefix is set to `/23`, each machine is assigned a `/23` subnet from the pod CIDR address range. The default is `/23`, allowing 512 cluster nodes and 512 pods per node, both of which are beyond our supported maximums. For information on the supported maximums, see the Additional Resources section below.
6666

67+
|`Encrypt etcd data (optional)`
68+
|In {product-title}, the control plane storage is encrypted at rest by default and this includes encryption of the etcd volumes. You can additionally enable the `Encrypt etcd data` option to encrypt the key values for some resources in etcd, but not the keys.
69+
70+
[IMPORTANT]
71+
====
72+
By enabling etcd encryption for the key values in etcd, you will incur a performance overhead of approximately 20%. The overhead is a result of introducing this second layer of encryption, in addition to the default control plane storage encryption that encrypts the etcd volumes. Red Hat recommends that you enable etcd encryption only if you specifically require it for your use case.
73+
====
74+
6775
|`Disable workload monitoring`
6876
|Disable monitoring for user-defined projects. Monitoring for user-defined projects is enabled by default.
6977

modules/sdpolicy-security.adoc

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
21
// Module included in the following assemblies:
32
//
4-
// * assemblies/osd-service-definition.adoc
3+
// * osd_policy/osd-service-definition.adoc
54

65
[id="sdpolicy-security_{context}"]
76
= Security
@@ -66,17 +65,17 @@ With {product-title} on AWS, AWS provides a standard DDoS protection on all Load
6665

6766
In {product-title}, the control plane storage is encrypted at rest by default and this includes encryption of the etcd volumes. This storage-level encryption is provided through the storage layer of the cloud provider.
6867

69-
You can also enable etcd encryption, which encrypts the key values in etcd state, but not the keys. If you enable etcd encryption, the following Kubernetes API server and OpenShift API server resources are encrypted:
68+
You can also enable etcd encryption, which encrypts the key values in etcd, but not the keys. If you enable etcd encryption, the following Kubernetes API server and OpenShift API server resources are encrypted:
7069

7170
* Secrets
7271
* Config maps
7372
* Routes
7473
* OAuth access tokens
7574
* OAuth authorize tokens
7675

77-
The etcd encryption feature is not enabled by default and it can be enabled only at cluster installation time.
76+
The etcd encryption feature is not enabled by default and it can be enabled only at cluster installation time. Even with etcd encryption enabled, the etcd key values are accessible to anyone with access to the control plane nodes or `cluster-admin` privileges.
7877

7978
[IMPORTANT]
8079
====
81-
By enabling etcd encryption for the key values in etcd state, you might incur a performance overhead of approximately 20%. Red Hat only recommends that you enable etcd encryption in addition to the default storage-level encryption if you specifically require this for your use case.
80+
By enabling etcd encryption for the key values in etcd, you will incur a performance overhead of approximately 20%. The overhead is a result of introducing this second layer of encryption, in addition to the default control plane storage encryption that encrypts the etcd volumes. Red Hat recommends that you enable etcd encryption only if you specifically require it for your use case.
8281
====

osd_cluster_create/creating-your-cluster.adoc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,12 @@ include::modules/understanding-clusters.adoc[leveloffset=+1]
1212

1313
include::modules/create-aws-cluster.adoc[leveloffset=+1]
1414

15+
.Additional resources
16+
17+
* For more information about etcd encryption, see the xref:../osd_policy/osd-service-definition.adoc#etcd-encryption_osd-service-definition[etcd encryption service definition].
18+
1519
include::modules/create-gcp-cluster.adoc[leveloffset=+1]
20+
21+
.Additional resources
22+
23+
* For more information about etcd encryption, see the xref:../osd_policy/osd-service-definition.adoc#etcd-encryption_osd-service-definition[etcd encryption service definition].

rosa_getting_started_sts/rosa_creating_a_cluster_with_sts/rosa-sts-creating-a-cluster-with-customizations.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,5 @@ include::modules/rosa-sts-creating-a-cluster-with-customizations.adoc[leveloffse
2222
* For an overview of the options that are presented when you create a cluster using interactive mode, see xref:../../rosa_getting_started_sts/rosa_creating_a_cluster_with_sts/rosa-sts-interactive-mode-reference.adoc#rosa-sts-interactive-mode-reference[Interactive cluster creation mode reference].
2323
* For information about the prerequisites to installing ROSA with STS, see xref:../../rosa_getting_started_sts/rosa-sts-aws-prereqs.adoc#rosa-sts-aws-prerequisites[AWS prerequisites for ROSA with STS].
2424
* For more information about using OpenID Connect (OIDC) identity providers in AWS IAM, see link:https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html[Creating OpenID Connect (OIDC) identity providers] in the AWS documentation.
25+
* For more information about etcd encryption, see the xref:../../rosa_policy/rosa-service-definition.adoc#rosa-sdpolicy-etcd-encryption_rosa-service-definition[etcd encryption service definition].
2526
* For more information about troubleshooting ROSA cluster deployments, see xref:../../rosa_support/rosa-troubleshooting-deployments.adoc#rosa-troubleshooting-cluster-deployments[Troubleshooting cluster deployments].

rosa_getting_started_sts/rosa_creating_a_cluster_with_sts/rosa-sts-interactive-mode-reference.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ include::modules/rosa-sts-interactive-mode-reference.adoc[leveloffset=+1]
1414
* For a list of the supported maximums, see xref:../../rosa_planning/rosa-limits-scalability.adoc#tested-cluster-maximums_rosa-limits-scalability[ROSA tested cluster maximums].
1515
* For detailed steps to quickly create a ROSA cluster with STS, including the AWS IAM resources, see xref:../../rosa_getting_started_sts/rosa_creating_a_cluster_with_sts/rosa-sts-creating-a-cluster-quickly.adoc#rosa-sts-creating-a-cluster-quickly[Creating a ROSA cluster with STS quickly].
1616
* For detailed steps to create a ROSA cluster with STS using customizations, including the AWS IAM resources, see xref:../../rosa_getting_started_sts/rosa_creating_a_cluster_with_sts/rosa-sts-creating-a-cluster-with-customizations.adoc#rosa-sts-creating-a-cluster-with-customizations[Creating a ROSA cluster with STS using customizations].
17+
* For more information about etcd encryption, see the xref:../../rosa_policy/rosa-service-definition.adoc#rosa-sdpolicy-etcd-encryption_rosa-service-definition[etcd encryption service definition].

0 commit comments

Comments
 (0)