Skip to content

Commit 48f560c

Browse files
authored
Merge pull request #90698 from dfitzmau/OCPBUGS-29512
OCPBUGS-28512: Added node reboot node to customize-certificates-repla…
2 parents 63498e2 + e3525dd commit 48f560c

File tree

2 files changed

+32
-43
lines changed

2 files changed

+32
-43
lines changed

modules/customize-certificates-replace-default-router.adoc

Lines changed: 19 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,38 +6,28 @@
66
[id="replacing-default-ingress_{context}"]
77
= Replacing the default ingress certificate
88

9-
You can replace the default ingress certificate for all
10-
applications under the `.apps` subdomain. After you replace
11-
the certificate, all applications, including the web console
12-
and CLI, will have encryption provided by specified certificate.
9+
You can replace the default ingress certificate for all applications under the `.apps` subdomain. After you replace the certificate, all applications, including the web console and CLI, have encryption provided by the specified certificate.
1310

1411
.Prerequisites
1512

16-
* You must have a wildcard certificate for the fully qualified `.apps` subdomain
17-
and its corresponding private key. Each should be in a separate PEM format file.
18-
* The private key must be unencrypted. If your key is encrypted, decrypt it
19-
before importing it into {product-title}.
20-
* The certificate must include the `subjectAltName` extension showing
21-
`*.apps.<clustername>.<domain>`.
22-
* The certificate file can contain one or more certificates in a chain. The
23-
wildcard certificate must be the first certificate in the file. It can then be
24-
followed with any intermediate certificates, and the file should end with the
25-
root CA certificate.
13+
* You must have a wildcard certificate for the fully qualified `.apps` subdomain and its corresponding private key. Each should be in a separate PEM format file.
14+
* The private key must be unencrypted. If your key is encrypted, decrypt it before importing it into {product-title}.
15+
* The certificate must include the `subjectAltName` extension showing `*.apps.<clustername>.<domain>`.
16+
* The certificate file can contain one or more certificates in a chain. The file must list the wildcard certificate as the first certificate, followed by other intermediate certificates, and then ending with the root CA certificate.
2617
* Copy the root CA certificate into an additional PEM format file.
27-
* Verify that all certificates which include `-----END CERTIFICATE-----` also
28-
end with one carriage return after that line.
18+
* Verify that all certificates which include `-----END CERTIFICATE-----` also end with one carriage return after that line.
2919
3020
.Procedure
3121

32-
. Create a config map that includes only the root CA certificate used to sign the wildcard certificate:
22+
. Create a config map that includes only the root CA certificate that is used to sign the wildcard certificate:
3323
+
3424
[source,terminal]
3525
----
3626
$ oc create configmap custom-ca \
3727
--from-file=ca-bundle.crt=</path/to/example-ca.crt> \//<1>
3828
-n openshift-config
3929
----
40-
<1> `</path/to/example-ca.crt>` is the path to the root CA certificate file on your local file system.
30+
<1> `</path/to/example-ca.crt>` is the path to the root CA certificate file on your local file system. For example, `/etc/pki/ca-trust/source/anchors`.
4131

4232
. Update the cluster-wide proxy configuration with the newly created config map:
4333
+
@@ -47,6 +37,11 @@ $ oc patch proxy/cluster \
4737
--type=merge \
4838
--patch='{"spec":{"trustedCA":{"name":"custom-ca"}}}'
4939
----
40+
+
41+
[NOTE]
42+
====
43+
If you update only the trusted CA for your cluster, the MCO updates the `/etc/pki/ca-trust/source/anchors/openshift-config-user-ca-bundle.crt` file and the Machine Config Controller (MCC) applies the trusted CA update to each node so that a node reboot is not required. Changing any other parameter in the `openshift-config-user-ca-bundle.crt` file, such as `noproxy`, results in the MCO rebooting each node in your cluster.
44+
====
5045

5146
. Create a secret that contains the wildcard certificate chain and key:
5247
+
@@ -57,15 +52,11 @@ $ oc create secret tls <secret> \//<1>
5752
--key=</path/to/cert.key> \//<3>
5853
-n openshift-ingress
5954
----
60-
<1> `<secret>` is the name of the secret that will contain the certificate chain
61-
and private key.
62-
<2> `</path/to/cert.crt>` is the path to the certificate chain on your local
63-
file system.
64-
<3> `</path/to/cert.key>` is the path to the private key associated
65-
with this certificate.
55+
<1> `<secret>` is the name of the secret that will contain the certificate chain and private key.
56+
<2> `</path/to/cert.crt>` is the path to the certificate chain on your local file system.
57+
<3> `</path/to/cert.key>` is the path to the private key associated with this certificate.
6658

67-
. Update the Ingress Controller configuration with the newly created
68-
secret:
59+
. Update the Ingress Controller configuration with the newly created secret:
6960
+
7061
[source,terminal]
7162
----
@@ -74,12 +65,10 @@ $ oc patch ingresscontroller.operator default \
7465
'{"spec":{"defaultCertificate": {"name": "<secret>"}}}' \//<1>
7566
-n openshift-ingress-operator
7667
----
77-
<1> Replace `<secret>` with the name used for the secret in
78-
the previous step.
68+
<1> Replace `<secret>` with the name used for the secret in the previous step.
7969
+
8070
[IMPORTANT]
8171
====
8272
To trigger the Ingress Operator to perform a rolling update, you must update the name of the secret.
83-
Because the kubelet automatically propagates changes to the secret in the volume mount, updating the secret contents does not trigger a rolling update.
84-
For more information, see this link:https://access.redhat.com/solutions/4542531[Red{nbsp}Hat Knowledgebase Solution].
73+
Because the kubelet automatically propagates changes to the secret in the volume mount, updating the secret contents does not trigger a rolling update. For more information, see this link:https://access.redhat.com/solutions/4542531[Red{nbsp}Hat Knowledgebase Solution].
8574
====

modules/nw-proxy-configure-object.adoc

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
[id="nw-proxy-configure-object_{context}"]
88
= Enabling the cluster-wide proxy
99

10-
The `Proxy` object is used to manage the cluster-wide egress proxy. When a cluster is installed or upgraded without the proxy configured, a `Proxy` object is still generated but it will have a nil `spec`. For example:
10+
The `Proxy` object is used to manage the cluster-wide egress proxy. When a cluster is installed or upgraded without the proxy configured, a `Proxy` object is still generated but it has a nil `spec`. For example:
1111

1212
[source,yaml]
1313
----
@@ -21,16 +21,16 @@ spec:
2121
status:
2222
----
2323

24-
A cluster administrator can configure the proxy for {product-title} by modifying this `cluster` `Proxy` object.
25-
2624
[NOTE]
2725
====
2826
Only the `Proxy` object named `cluster` is supported, and no additional proxies can be created.
2927
====
3028

29+
A cluster administrator can configure the proxy for {product-title} by modifying the `cluster` `Proxy` object.
30+
3131
[WARNING]
3232
====
33-
Enabling the cluster-wide proxy causes the Machine Config Operator (MCO) to trigger node reboot.
33+
After you enable the cluster-wide proxy capability for your cluster and you save the `Proxy` object file, the Machine Config Operator (MCO) reboots all nodes in your cluster so that each node can access connections that exist outside of the cluster. You do not need to manually reboot these nodes.
3434
====
3535

3636
.Prerequisites
@@ -44,10 +44,10 @@ Enabling the cluster-wide proxy causes the Machine Config Operator (MCO) to trig
4444
+
4545
[NOTE]
4646
====
47-
You can skip this step if the proxy's identity certificate is signed by an authority from the RHCOS trust bundle.
47+
You can skip this step if the identity certificate of the proxy is signed by an authority from the {op-system-first} trust bundle.
4848
====
4949

50-
.. Create a file called `user-ca-bundle.yaml` with the following contents, and provide the values of your PEM-encoded certificates:
50+
.. Create a file called `user-ca-bundle.yaml`, and provide the values of your PEM-encoded certificates:
5151
+
5252
[source,yaml]
5353
----
@@ -63,10 +63,10 @@ metadata:
6363
<1> This data key must be named `ca-bundle.crt`.
6464
<2> One or more PEM-encoded X.509 certificates used to sign the proxy's
6565
identity certificate.
66-
<3> The config map name that will be referenced from the `Proxy` object.
67-
<4> The config map must be in the `openshift-config` namespace.
66+
<3> The config map name that is referenced from the `Proxy` object.
67+
<4> The config map must exist in the `openshift-config` namespace.
6868

69-
.. Create the config map from this file:
69+
.. Create the config map from the `user-ca-bundle.yaml` file by entering the following command:
7070
+
7171
[source,terminal]
7272
----
@@ -101,7 +101,7 @@ spec:
101101
+
102102
--
103103
<1> A proxy URL to use for creating HTTP connections outside the cluster. The URL scheme must be `http`.
104-
<2> A proxy URL to use for creating HTTPS connections outside the cluster. The URL scheme must be either `http` or `https`. Specify a URL for the proxy that supports the URL scheme. For example, most proxies will report an error if they are configured to use `https` but they only support `http`. This failure message may not propagate to the logs and can appear to be a network connection failure instead. If using a proxy that listens for `https` connections from the cluster, you may need to configure the cluster to accept the CAs and certificates that the proxy uses.
104+
<2> A proxy URL to use for creating HTTPS connections outside the cluster. The URL scheme must be either `http` or `https`. Specify a URL for the proxy that supports the URL scheme. For example, most proxies report an error if they are configured to use `https` but they only support `http`. This failure message may not propagate to the logs and can appear to be a network connection failure instead. If using a proxy that listens for `https` connections from the cluster, you might need to configure the cluster to accept the CAs and certificates that the proxy uses.
105105
<3> A comma-separated list of destination domain names, domains, IP addresses (or other network CIDRs), and port numbers to exclude proxying.
106106
+
107107
[NOTE]
@@ -112,13 +112,13 @@ Port numbers are only supported when configuring IPv6 addresses. Port numbers ar
112112
Preface a domain with `.` to match subdomains only. For example, `.y.com` matches `x.y.com`, but not `y.com`. Use `*` to bypass proxy for all destinations.
113113
+
114114
If your `noproxy` field needs to include a domain address, you must explicitly specify that FQDN, or prefix-matched subdomain, in the `noproxy` field. You cannot use the IP address or CIDR range that encapsulates the domain. This is because the cluster does not wait for DNS to return the IP address before assigning the route connection, and checks explicitly against the request being made.
115-
For example, if you have a CIDR block value, such as `10.0.0.0/24`, for the `noproxy` field and attempt to access `\https://10.0.0.11`, it will match successfully. However, attempting to access `\https://exampleserver.externaldomain.com`, whose A record entry is `10.0.0.11`, will fail. An additional value of `.externaldomain.com` for your `noproxy` field is necessary.
115+
For example, if you have a CIDR block value, such as `10.0.0.0/24`, for the `noproxy` field and the field attempts to access `\https://10.0.0.11`, the addresses successfully match. However, attempting to access `\https://exampleserver.externaldomain.com`, whose A record entry is `10.0.0.11`, fails. An additional value of `.externaldomain.com` for your `noproxy` field is necessary.
116116
+
117-
If you scale up workers that are not included in the network defined by the `networking.machineNetwork[].cidr` field from the installation configuration, you must add them to this list to prevent connection issues.
117+
If you scale up compute nodes that are not included in the network defined by the `networking.machineNetwork[].cidr` field from the installation configuration, you must add them to this list to prevent connection issues.
118118
+
119119
This field is ignored if neither the `httpProxy` or `httpsProxy` fields are set.
120120
<4> One or more URLs external to the cluster to use to perform a readiness check before writing the `httpProxy` and `httpsProxy` values to status.
121-
<5> A reference to the config map in the `openshift-config` namespace that contains additional CA certificates required for proxying HTTPS connections. Note that the config map must already exist before referencing it here. This field is required unless the proxy's identity certificate is signed by an authority from the RHCOS trust bundle.
121+
<5> A reference to the config map in the `openshift-config` namespace that contains additional CA certificates required for proxying HTTPS connections. Note that the config map must already exist before referencing it here. This field is required unless the proxy's identity certificate is signed by an authority from the {op-system} trust bundle.
122122
--
123123

124124
. Save the file to apply the changes.

0 commit comments

Comments
 (0)