Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.
Chapter 9. cert-manager Operator for Red Hat OpenShift
9.1. cert-manager Operator for Red Hat OpenShift overview Link kopierenLink in die Zwischenablage kopiert!
The cert-manager Operator for Red Hat OpenShift is a cluster-wide service that provides application certificate lifecycle management. The cert-manager Operator for Red Hat OpenShift allows you to integrate with external certificate authorities and provides certificate provisioning, renewal, and retirement.
9.1.1. About the cert-manager Operator for Red Hat OpenShift Link kopierenLink in die Zwischenablage kopiert!
The cert-manager project introduces certificate authorities and certificates as resource types in the Kubernetes API, which makes it possible to provide certificates on demand to developers working within your cluster. The cert-manager Operator for Red Hat OpenShift provides a supported way to integrate cert-manager into your OpenShift Container Platform cluster.
The cert-manager Operator for Red Hat OpenShift provides the following features:
- Support for integrating with external certificate authorities
- Tools to manage certificates
- Ability for developers to self-serve certificates
- Automatic certificate renewal
Do not attempt to use both cert-manager Operator for Red Hat OpenShift for OpenShift Container Platform and the community cert-manager Operator at the same time in your cluster.
Also, you should not install cert-manager Operator for Red Hat OpenShift for OpenShift Container Platform in multiple namespaces within a single OpenShift cluster.
9.1.2. cert-manager Operator for Red Hat OpenShift issuer providers Link kopierenLink in die Zwischenablage kopiert!
The cert-manager Operator for Red Hat OpenShift has been tested with the following issuer types:
- Automated Certificate Management Environment (ACME)
- Certificate Authority (CA)
- Self-signed
- Vault
- Venafi
- Nokia NetGuard Certificate Manager (NCM)
- Google cloud Certificate Authority Service (Google CAS)
9.1.2.1. Testing issuer types Link kopierenLink in die Zwischenablage kopiert!
The following table outlines the test coverage for each tested issuer type:
| Issuer Type | Test Status | Notes |
|---|---|---|
| ACME | Fully Tested | Verified with standard ACME implementations. |
| CA | Fully Tested | Ensures basic CA functionality. |
| Self-signed | Fully Tested | Ensures basic self-signed functionality. |
| Vault | Fully Tested | Limited to standard Vault setups due to infrastructure access constraints. |
| Venafi | Partially tested | Subject to provider-specific limitations. |
| NCM | Partially Tested | Subject to provider-specific limitations. |
| Google CAS | Partially Tested | Compatible with common CA configurations. |
OpenShift Container Platform does not test all factors associated with third-party cert-manager Operator for Red Hat OpenShift provider functionality. For more information about third-party support, see the OpenShift Container Platform third-party support policy.
9.1.3. Certificate request methods Link kopierenLink in die Zwischenablage kopiert!
There are two ways to request a certificate using the cert-manager Operator for Red Hat OpenShift:
- Using the
cert-manager.io/CertificateRequestobject -
With this method a service developer creates a
CertificateRequestobject with a validissuerRefpointing to a configured issuer (configured by a service infrastructure administrator). A service infrastructure administrator then accepts or denies the certificate request. Only accepted certificate requests create a corresponding certificate. - Using the
cert-manager.io/Certificateobject -
With this method, a service developer creates a
Certificateobject with a validissuerRefand obtains a certificate from a secret that they pointed to theCertificateobject.
9.1.4. About FIPS compliance for cert-manager Operator for Red Hat OpenShift Link kopierenLink in die Zwischenablage kopiert!
Starting with version 1.14.0, cert-manager Operator for Red Hat OpenShift is designed for FIPS compliance. When running on OpenShift Container Platform in FIPS mode, it uses the RHEL cryptographic libraries submitted to NIST for FIPS validation on the x86_64, ppc64le, and s390X architectures. For more information about the NIST validation program, see Cryptographic module validation program. For the latest NIST status for the individual versions of the RHEL cryptographic libraries submitted for validation, see Compliance activities and government standards.
To enable FIPS mode, you must install cert-manager Operator for Red Hat OpenShift on an OpenShift Container Platform cluster configured to operate in FIPS mode. For more information, see "Do you need extra security for your cluster?"
9.2. cert-manager Operator for Red Hat OpenShift release notes Link kopierenLink in die Zwischenablage kopiert!
The cert-manager Operator for Red Hat OpenShift is a cluster-wide service that provides application certificate lifecycle management.
These release notes track the development of cert-manager Operator for Red Hat OpenShift.
For more information, see About the cert-manager Operator for Red Hat OpenShift.
9.2.1. cert-manager Operator for Red Hat OpenShift 1.16.2 Link kopierenLink in die Zwischenablage kopiert!
Issued: 2025-10-16
The following advisories are available for the cert-manager Operator for Red Hat OpenShift 1.16.2:
Version
1.16.2
v1.16.5
9.2.1.1. CVEs Link kopierenLink in die Zwischenablage kopiert!
9.2.2. cert-manager Operator for Red Hat OpenShift 1.16.1 Link kopierenLink in die Zwischenablage kopiert!
Issued: 2025-07-10
The following advisories are available for the cert-manager Operator for Red Hat OpenShift 1.16.1:
Version
1.16.1
v1.16.5
9.2.2.1. Bug fixes Link kopierenLink in die Zwischenablage kopiert!
Previously, cert-manager Operator for Red Hat OpenShift failed to create the
cert-manager-tokenrequest
RoleCreateFailed
serviceaccounts/token
cert-manager-tokenrequest
RoleCreateFailed
9.2.2.2. CVEs Link kopierenLink in die Zwischenablage kopiert!
9.2.3. cert-manager Operator for Red Hat OpenShift 1.16.0 Link kopierenLink in die Zwischenablage kopiert!
Issued: 2025-05-27
The following advisories are available for the cert-manager Operator for Red Hat OpenShift 1.16.0:
Version
1.16.0
v1.16.4
9.2.3.1. New features and enhancements Link kopierenLink in die Zwischenablage kopiert!
Disconnected environment support
With this release, the cert-manager Operator for Red Hat OpenShift has been verified to be mirrored to and installed in a disconnected environment.
The Operator has also been validated to work with the following issuer types in disconnected environments: ACME, CA, Self-signed, and Vault. Specifically, private or self-hosted ACME servers have been validated, as Let’s Encrypt or other public ACME services are not feasible options in disconnected environments. The oc-mirror plugin v2 is the preferred method to mirror Operator images. For more information, see Mirroring images for a disconnected installation by using the oc-mirror plugin.
Extended operand metrics support
With this release, cert-manager webhook and cainjector operands now expose Prometheus metrics on port 9402 by default via the
/metrics
Streaming Lists enablement
With this release, the cert-manager Operator for Red Hat OpenShift now uses the new upstream WatchListClient feature. This enables use of the Streaming Lists feature of the Kubernetes API server, which reduces the load on the API server. The peak memory use of the cert-manager components when they start up is optimized on OpenShift Container Platform 4.14 and later.
9.2.3.2. CVEs Link kopierenLink in die Zwischenablage kopiert!
9.2.3.3. Known Issues Link kopierenLink in die Zwischenablage kopiert!
When using the Venafi issuer with username and password authentication in cert-manager version 1.16.0, the default client ID is hard-coded as
cert-manager.io
9.2.4. cert-manager Operator for Red Hat OpenShift 1.15.2 Link kopierenLink in die Zwischenablage kopiert!
Issued: 2025-11-25
The following advisories are available for the cert-manager Operator for Red Hat OpenShift 1.15.2:
Version
1.15.2
v1.15.5
9.2.4.1. CVEs Link kopierenLink in die Zwischenablage kopiert!
9.2.5. cert-manager Operator for Red Hat OpenShift 1.15.1 Link kopierenLink in die Zwischenablage kopiert!
Issued: 2025-03-13
The following advisories are available for the cert-manager Operator for Red Hat OpenShift 1.15.1:
Version
1.15.1
v1.15.5
9.2.5.1. New features and enhancements Link kopierenLink in die Zwischenablage kopiert!
Integrating the cert-manager Operator for Red Hat OpenShift with Istio-CSR (Technology Preview)
The cert-manager Operator for Red Hat OpenShift now supports the Istio-CSR. With this integration, cert-manager Operator’s issuers can issue, sign, and renew certificates for mutual TLS (mTLS) communication. Red Hat OpenShift Service Mesh and
Istio
For more information, see Integrating the cert-manager Operator with Istio-CSR.
9.2.5.2. CVEs Link kopierenLink in die Zwischenablage kopiert!
9.2.6. cert-manager Operator for Red Hat OpenShift 1.15.0 Link kopierenLink in die Zwischenablage kopiert!
Issued: 2025-01-22
The following advisories are available for the cert-manager Operator for Red Hat OpenShift 1.15.0:
Version
1.15.0
v1.15.4
9.2.6.1. New features and enhancements Link kopierenLink in die Zwischenablage kopiert!
Scheduling overrides for cert-manager Operator for Red Hat OpenShift
With this release, you can configure scheduling overrides for cert-manager Operator for Red Hat OpenShift, including the cert-manager controller, webhook, and CA injector.
Google CAS issuer
The cert-manager Operator for Red Hat OpenShift now supports the Google Certificate Authority Service (CAS) issuer. The
google-cas-issuer
The Google CAS issuer is validated only with version 0.9.0 and cert-manager Operator for Red Hat OpenShift version 1.15.0. These versions support tasks such as issuing, renewing, and managing certificates for the API server and ingress controller in OpenShift Container Platform clusters.
Default installMode updated to AllNamespaces
Starting from version 1.15.0, the default and recommended Operator Lifecycle Manager (OLM)
installMode
AllNamespaces
SingleNamespace
Redundant kube-rbac-proxy sidecar removed
The Operator no longer includes the redundant
kube-rbac-proxy
9.2.6.2. CVEs Link kopierenLink in die Zwischenablage kopiert!
9.2.7. cert-manager Operator for Red Hat OpenShift 1.14.2 Link kopierenLink in die Zwischenablage kopiert!
Issued: 2025-04-09
The following advisory is available for the cert-manager Operator for Red Hat OpenShift 1.14.2:
Version
1.14.2
v1.14.7
9.2.7.1. New features and enhancements Link kopierenLink in die Zwischenablage kopiert!
Redundant kube-rbac-proxy sidecar removed
The Operator no longer includes the redundant
kube-rbac-proxy
9.2.7.2. CVEs Link kopierenLink in die Zwischenablage kopiert!
9.2.8. cert-manager Operator for Red Hat OpenShift 1.14.1 Link kopierenLink in die Zwischenablage kopiert!
Issued: 2024-11-04
The following advisory is available for the cert-manager Operator for Red Hat OpenShift 1.14.1:
Version
1.14.1
v1.14.7
9.2.8.1. CVEs Link kopierenLink in die Zwischenablage kopiert!
9.2.9. cert-manager Operator for Red Hat OpenShift 1.14.0 Link kopierenLink in die Zwischenablage kopiert!
Issued: 2024-07-08
The following advisory is available for the cert-manager Operator for Red Hat OpenShift 1.14.0:
Version
1.14.0
v1.14.5
9.2.9.1. New features and enhancements Link kopierenLink in die Zwischenablage kopiert!
FIPS compliance support
With this release, FIPS mode is now automatically enabled for cert-manager Operator for Red Hat OpenShift. When installed on an OpenShift Container Platform cluster in FIPS mode, cert-manager Operator for Red Hat OpenShift ensures compatibility without affecting the cluster’s FIPS support status.
NCM issuer
The cert-manager Operator for Red Hat OpenShift now supports the Nokia NetGuard Certificate Manager (NCM) issuer. The
ncm-issuer
The NCM issuer is validated only with version 1.1.1 and the cert-manager Operator for Red Hat OpenShift version 1.14.0. This version handles tasks such as issuance, renewal, and managing certificates for the API server and ingress controller of OpenShift Container Platform clusters.
9.2.9.2. CVEs Link kopierenLink in die Zwischenablage kopiert!
9.2.10. cert-manager Operator for Red Hat OpenShift 1.13.1 Link kopierenLink in die Zwischenablage kopiert!
Issued: 2024-05-15
The following advisory is available for the cert-manager Operator for Red Hat OpenShift 1.13.1:
Version
1.13.1
v1.13.6
9.2.10.1. CVEs Link kopierenLink in die Zwischenablage kopiert!
9.2.11. cert-manager Operator for Red Hat OpenShift 1.13.0 Link kopierenLink in die Zwischenablage kopiert!
Issued: 2024-01-16
The following advisory is available for the cert-manager Operator for Red Hat OpenShift 1.13.0:
Version
1.13.0
v1.13.3
9.2.11.1. New features and enhancements Link kopierenLink in die Zwischenablage kopiert!
- You can now manage certificates for API Server and Ingress Controller by using the cert-manager Operator for Red Hat OpenShift. For more information, see Configuring certificates with an issuer.
-
With this release, the scope of the cert-manager Operator for Red Hat OpenShift, which was previously limited to the OpenShift Container Platform on AMD64 architecture, has now been expanded to include support for managing certificates on OpenShift Container Platform running on IBM Z® (), IBM Power® (
s390x) and ARM64 architectures.ppc64le -
With this release, you can use DNS over HTTPS (DoH) for performing the self-checks during the ACME DNS-01 challenge verification. The DNS self-check method can be controlled by using the command-line flags, and
--dns01-recursive-nameservers-only. For more information, see Customizing cert-manager by overriding arguments from the cert-manager Operator API.--dns01-recursive-nameservers
9.2.11.2. CVEs Link kopierenLink in die Zwischenablage kopiert!
9.2.12. Release notes for cert-manager Operator for Red Hat OpenShift 1.12.1 Link kopierenLink in die Zwischenablage kopiert!
Issued: 2023-11-15
The following advisory is available for the cert-manager Operator for Red Hat OpenShift 1.12.1:
Version
1.12.1
v1.12.5
9.2.12.1. Bug fixes Link kopierenLink in die Zwischenablage kopiert!
- Previously, in a multi-architecture environment, the cert-manager Operator pods were prone to failures because of the invalid node affinity configuration. With this fix, the cert-manager Operator pods run without any failures. (OCPBUGS-19446)
9.2.12.2. CVEs Link kopierenLink in die Zwischenablage kopiert!
9.2.13. Release notes for cert-manager Operator for Red Hat OpenShift 1.12.0 Link kopierenLink in die Zwischenablage kopiert!
Issued: 2023-10-02
The following advisories are available for the cert-manager Operator for Red Hat OpenShift 1.12.0:
Version
1.12.0
v1.12.4
9.2.13.1. Bug fixes Link kopierenLink in die Zwischenablage kopiert!
- Previously, you could not configure the CPU and memory requests and limits for the cert-manager components such as cert-manager controller, CA injector, and Webhook. Now, you can configure the CPU and memory requests and limits for the cert-manager components by using the command-line interface (CLI). For more information, see Overriding CPU and memory limits for the cert-manager components. (OCPBUGS-13830)
-
Previously, if you updated the object, the cert-manager Operator for Red Hat OpenShift could not verify and update the change in the cluster issuer. Now, if you modify the
ClusterIssuerobject, the cert-manager Operator for Red Hat OpenShift verifies the ACME account registration and updates the change. (OCPBUGS-8210)ClusterIssuer -
Previously, the cert-manager Operator for Red Hat OpenShift did not support enabling the flag. Now, the cert-manager Operator for Red Hat OpenShift supports enabling the
--enable-certificate-owner-refflag by adding the--enable-certificate-owner-reffield in thespec.controllerConfig.overrideArgsobject. After enabling theclusterflag, cert-manager can automatically delete the secret when the--enable-certificate-owner-refresource is removed from the cluster. For more information on enabling theCertificateflag and deleting the TLS secret automatically, see Deleting a TLS secret automatically upon Certificate removal (CM-98)--enable-certificate-owner-ref -
Previously, the cert-manager Operator for Red Hat OpenShift could not pull the image. The cert-manager controller, CA injector, and Webhook pods were stuck in the
jetstack-cert-manager-container-v1.12.4-1state. Now, the cert-manager Operator for Red Hat OpenShift pulls theImagePullBackOffimage to run the cert-manager controller, CA injector, and Webhook pods successfully. (OCPBUGS-19986)jetstack-cert-manager-container-v1.12.4-1
9.2.14. Release notes for cert-manager Operator for Red Hat OpenShift 1.11.5 Link kopierenLink in die Zwischenablage kopiert!
Issued: 2023-11-15
The following advisory is available for the cert-manager Operator for Red Hat OpenShift 1.11.5:
The golang version is updated to the version
1.20.10
1.11.5
v1.11.5
9.2.14.1. Bug fixes Link kopierenLink in die Zwischenablage kopiert!
- Previously, in a multi-architecture environment, the cert-manager Operator pods were prone to failures because of the invalid node affinity configuration. With this fix, the cert-manager Operator pods run without any failures. (OCPBUGS-19446)
9.2.14.2. CVEs Link kopierenLink in die Zwischenablage kopiert!
9.2.15. Release notes for cert-manager Operator for Red Hat OpenShift 1.11.4 Link kopierenLink in die Zwischenablage kopiert!
Issued: 2023-07-26
The following advisory is available for the cert-manager Operator for Red Hat OpenShift 1.11.4:
The golang version is updated to the version
1.19.10
1.11.4
v1.11.4
9.2.15.1. Bug fixes Link kopierenLink in die Zwischenablage kopiert!
- Previously, the cert-manager Operator for Red Hat OpenShift did not allow you to install older versions of the cert-manager Operator for Red Hat OpenShift. Now, you can install older versions of the cert-manager Operator for Red Hat OpenShift using the web console or the command-line interface (CLI). For more information on how to use the web console to install older versions, see Installing the cert-manager Operator for Red Hat OpenShift. (OCPBUGS-16393)
9.2.16. Release notes for cert-manager Operator for Red Hat OpenShift 1.11.1 Link kopierenLink in die Zwischenablage kopiert!
Issued: 2023-06-21
The following advisory is available for the cert-manager Operator for Red Hat OpenShift 1.11.1:
Version
1.11.1
v1.11.1
9.2.16.1. New features and enhancements Link kopierenLink in die Zwischenablage kopiert!
This is the general availability (GA) release of the cert-manager Operator for Red Hat OpenShift.
9.2.16.1.1. Setting log levels for cert-manager and the cert-manager Operator for Red Hat OpenShift Link kopierenLink in die Zwischenablage kopiert!
- To troubleshoot issues with cert-manager and the cert-manager Operator for Red Hat OpenShift, you can now configure the log level verbosity by setting a log level for cert-manager and the cert-manager Operator for Red Hat OpenShift. For more information, see Configuring log levels for cert-manager and the cert-manager Operator for Red Hat OpenShift.
9.2.16.1.2. Authenticating the cert-manager Operator for Red Hat OpenShift with AWS Link kopierenLink in die Zwischenablage kopiert!
- You can now configure cloud credentials for the cert-manager Operator for Red Hat OpenShift on AWS clusters with Security Token Service (STS) and without STS. For more information, see Authenticating the cert-manager Operator for Red Hat OpenShift on AWS Security Token Service and Authenticating the cert-manager Operator for Red Hat OpenShift on AWS.
9.2.16.1.3. Authenticating the cert-manager Operator for Red Hat OpenShift with GCP Link kopierenLink in die Zwischenablage kopiert!
- You can now configure cloud credentials for the cert-manager Operator for Red Hat OpenShift on GCP clusters with Workload Identity and without Workload Identity. For more information, see Authenticating the cert-manager Operator for Red Hat OpenShift with GCP Workload Identity and Authenticating the cert-manager Operator for Red Hat OpenShift with GCP
9.2.16.2. Bug fixes Link kopierenLink in die Zwischenablage kopiert!
-
Previously, the pod did not use the latest published Red Hat image
cm-acme-http-solver. With this release, theregistry.redhat.io/cert-manager/jetstack-cert-manager-acmesolver-rhel9pod uses the latest published Red Hat imagecm-acme-http-solver. (OCPBUGS-10821)registry.redhat.io/cert-manager/jetstack-cert-manager-acmesolver-rhel9 - Previously, the cert-manager Operator for Red Hat OpenShift did not support changing labels for cert-manager pods such as controller, CA injector, and Webhook pods. With this release, you can add labels to cert-manager pods. (OCPBUGS-8466)
-
Previously, you could not update the log verbosity level in the cert-manager Operator for Red Hat OpenShift. You can now update the log verbosity level by using an environmental variable in its subscription resource. (OCPBUGS-9994)
OPERATOR_LOG_LEVEL - Previously, when uninstalling the cert-manager Operator for Red Hat OpenShift, if you select the Delete all operand instances for this operator checkbox in the OpenShift Container Platform web console, the Operator was not uninstalled properly. The cert-manager Operator for Red Hat OpenShift is now properly uninstalled. (OCPBUGS-9960)
- Previously, the cert-manager Operator for Red Hat OpenShift did not support using Google workload identity federation. The cert-manager Operator for Red Hat OpenShift now supports using Google workload identity federation. (OCPBUGS-9998)
9.2.16.3. Known issues Link kopierenLink in die Zwischenablage kopiert!
-
After installing the cert-manager Operator for Red Hat OpenShift, if you navigate to Operators
Installed Operators and select Operator details in the OpenShift Container Platform web console, you cannot see the cert-manager resources that are created across all namespaces. As a workaround, you can navigate to Home API Explorer to see the cert-manager resources. (OCPBUGS-11647) -
After uninstalling the cert-manager Operator for Red Hat OpenShift by using the web console, the cert-manager Operator for Red Hat OpenShift does not remove the cert-manager controller, CA injector, and Webhook pods automatically from the namespace. As a workaround, you can manually delete the cert-manager controller, CA injector, and Webhook pod deployments present in the
cert-managernamespace. (OCPBUGS-13679)cert-manager
9.3. Installing the cert-manager Operator for Red Hat OpenShift Link kopierenLink in die Zwischenablage kopiert!
The cert-manager Operator for Red Hat OpenShift version 1.15 or later supports the
AllNamespaces
SingleNamespace
OwnNamespace
SingleNamespace
OwnNamespace
The cert-manager Operator for Red Hat OpenShift is not installed in OpenShift Container Platform by default. You can install the cert-manager Operator for Red Hat OpenShift by using the web console.
9.3.1. Installing the cert-manager Operator for Red Hat OpenShift using the web console Link kopierenLink in die Zwischenablage kopiert!
You can use the web console to install the cert-manager Operator for Red Hat OpenShift.
Prerequisites
-
You have access to the cluster with privileges.
cluster-admin - You have access to the OpenShift Container Platform web console.
Procedure
- Log in to the OpenShift Container Platform web console.
-
Navigate to Operators
OperatorHub. - Enter cert-manager Operator for Red Hat OpenShift into the filter box.
Select the cert-manager Operator for Red Hat OpenShift and click Install.
NoteFrom the cert-manager Operator for Red Hat OpenShift
and later, the z-stream versions of the upstream cert-manager operands such as cert-manager controller, CA injector, Webhook, and cert-manager Operator for Red Hat OpenShift are decoupled. For example, for the cert-manager Operator for Red Hat OpenShift1.12.0, the cert-manager operand version is1.12.0.v1.12.4On the Install Operator page:
- Update the Update channel, if necessary. The channel defaults to stable-v1, which installs the latest stable release of the cert-manager Operator for Red Hat OpenShift.
Choose the Installed Namespace for the Operator. The default Operator namespace is
.cert-manager-operatorIf the
namespace does not exist, it is created for you.cert-manager-operatorNoteDuring the installation, the OpenShift Container Platform web console allows you to select between
andAllNamespacesinstallation modes. For installations with cert-manager Operator for Red Hat OpenShift version 1.15.0 or later, it is recommended to choose theSingleNamespaceinstallation mode.AllNamespacesandSingleNamespacesupport will remain for earlier versions but will be deprecated in future versions.OwnNamespaceSelect an Update approval strategy.
- The Automatic strategy allows Operator Lifecycle Manager (OLM) to automatically update the Operator when a new version is available.
- The Manual strategy requires a user with appropriate credentials to approve the Operator update.
- Click Install.
Verification
-
Navigate to Operators
Installed Operators. -
Verify that cert-manager Operator for Red Hat OpenShift is listed with a Status of Succeeded in the namespace.
cert-manager-operator Verify that cert-manager pods are up and running by entering the following command:
$ oc get pods -n cert-managerExample output
NAME READY STATUS RESTARTS AGE cert-manager-bd7fbb9fc-wvbbt 1/1 Running 0 3m39s cert-manager-cainjector-56cc5f9868-7g9z7 1/1 Running 0 4m5s cert-manager-webhook-d4f79d7f7-9dg9w 1/1 Running 0 4m9sYou can use the cert-manager Operator for Red Hat OpenShift only after cert-manager pods are up and running.
9.3.2. Understanding update channels of the cert-manager Operator for Red Hat OpenShift Link kopierenLink in die Zwischenablage kopiert!
Update channels are the mechanism by which you can declare the version of your cert-manager Operator for Red Hat OpenShift in your cluster. The cert-manager Operator for Red Hat OpenShift offers the following update channels:
-
stable-v1 -
stable-v1.y
9.3.2.1. stable-v1 channel Link kopierenLink in die Zwischenablage kopiert!
The
stable-v1
stable-v1
The
stable-v1
The
stable-v1
- Automatic
-
If you choose automatic updates for an installed cert-manager Operator for Red Hat OpenShift, a new version of the cert-manager Operator for Red Hat OpenShift is available in the
stable-v1channel. The Operator Lifecycle Manager (OLM) automatically upgrades the running instance of your Operator without human intervention. - Manual
- If you select manual updates, when a newer version of the cert-manager Operator for Red Hat OpenShift is available, OLM creates an update request. As a cluster administrator, you must then manually approve that update request to have the cert-manager Operator for Red Hat OpenShift updated to the new version.
9.3.2.2. stable-v1.y channel Link kopierenLink in die Zwischenablage kopiert!
The y-stream version of the cert-manager Operator for Red Hat OpenShift installs updates from the
stable-v1.y
stable-v1.10
stable-v1.11
stable-v1.12
stable-v1.y
The
stable-v1.y
- Automatic
-
If you choose automatic updates for an installed cert-manager Operator for Red Hat OpenShift, a new z-stream version of the cert-manager Operator for Red Hat OpenShift is available in the
stable-v1.ychannel. OLM automatically upgrades the running instance of your Operator without human intervention. - Manual
- If you select manual updates, when a newer version of the cert-manager Operator for Red Hat OpenShift is available, OLM creates an update request. As a cluster administrator, you must then manually approve that update request to have the cert-manager Operator for Red Hat OpenShift updated to the new version of the z-stream releases.
9.4. Configuring an ACME issuer Link kopierenLink in die Zwischenablage kopiert!
The cert-manager Operator for Red Hat OpenShift supports using Automated Certificate Management Environment (ACME) CA servers, such as Let’s Encrypt, to issue certificates. Explicit credentials are configured by specifying the secret details in the
Issuer
Issuer
The
Issuer
ClusterIssuer
Example YAML file that defines the ClusterIssuer object
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: acme-cluster-issuer
spec:
acme:
...
By default, you can use the
ClusterIssuer
Issuer
--issuer-ambient-credentials
9.4.1. About ACME issuers Link kopierenLink in die Zwischenablage kopiert!
The ACME issuer type for the cert-manager Operator for Red Hat OpenShift represents an Automated Certificate Management Environment (ACME) certificate authority (CA) server. ACME CA servers rely on a challenge to verify that a client owns the domain names that the certificate is being requested for. If the challenge is successful, the cert-manager Operator for Red Hat OpenShift can issue the certificate. If the challenge fails, the cert-manager Operator for Red Hat OpenShift does not issue the certificate.
Private DNS zones are not supported with Let’s Encrypt and internet ACME servers.
9.4.1.1. Supported ACME challenges types Link kopierenLink in die Zwischenablage kopiert!
The cert-manager Operator for Red Hat OpenShift supports the following challenge types for ACME issuers:
- HTTP-01
With the HTTP-01 challenge type, you provide a computed key at an HTTP URL endpoint in your domain. If the ACME CA server can get the key from the URL, it can validate you as the owner of the domain.
For more information, see HTTP01 in the upstream cert-manager documentation.
HTTP-01 requires that the Let’s Encrypt servers can access the route of the cluster. If an internal or private cluster is behind a proxy, the HTTP-01 validations for certificate issuance fail.
The HTTP-01 challenge is restricted to port 80. For more information, see HTTP-01 challenge (Let’s Encrypt).
- DNS-01
With the DNS-01 challenge type, you provide a computed key at a DNS TXT record. If the ACME CA server can get the key by DNS lookup, it can validate you as the owner of the domain.
For more information, see DNS01 in the upstream cert-manager documentation.
9.4.1.2. Supported DNS-01 providers Link kopierenLink in die Zwischenablage kopiert!
The cert-manager Operator for Red Hat OpenShift supports the following DNS-01 providers for ACME issuers:
- Amazon Route 53
Azure DNS
NoteThe cert-manager Operator for Red Hat OpenShift does not support using Microsoft Entra ID pod identities to assign a managed identity to a pod.
- Google Cloud DNS
Webhook
Red Hat tests and supports DNS providers using an external webhook with cert-manager on OpenShift Container Platform. The following DNS providers are tested and supported with OpenShift Container Platform:
NoteUsing a DNS provider that is not listed might work with OpenShift Container Platform, but the provider was not tested by Red Hat and therefore is not supported by Red Hat.
9.4.2. Configuring an ACME issuer to solve HTTP-01 challenges Link kopierenLink in die Zwischenablage kopiert!
You can use cert-manager Operator for Red Hat OpenShift to set up an ACME issuer to solve HTTP-01 challenges. This procedure uses Let’s Encrypt as the ACME CA server.
Prerequisites
-
You have access to the cluster as a user with the role.
cluster-admin -
You have a service that you want to expose. In this procedure, the service is named .
sample-workload
Procedure
Create an ACME cluster issuer.
Create a YAML file that defines the
object:ClusterIssuerExample
acme-cluster-issuer.yamlfileapiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: letsencrypt-staging1 spec: acme: preferredChain: "" privateKeySecretRef: name: <secret_for_private_key>2 server: https://acme-staging-v02.api.letsencrypt.org/directory3 solvers: - http01: ingress: ingressClassName: openshift-default4 Optional: If you create the object without specifying
, use the following command to patch the existing ingress:ingressClassName$ oc patch ingress/<ingress-name> --type=merge --patch '{"spec":{"ingressClassName":"openshift-default"}}' -n <namespace>Create the
object by running the following command:ClusterIssuer$ oc create -f acme-cluster-issuer.yaml
Create an Ingress to expose the service of the user workload.
Create a YAML file that defines a
object:NamespaceExample
namespace.yamlfileapiVersion: v1 kind: Namespace metadata: name: my-ingress-namespace1 - 1
- Specify the namespace for the Ingress.
Create the
object by running the following command:Namespace$ oc create -f namespace.yamlCreate a YAML file that defines the
object:IngressExample
ingress.yamlfileapiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: sample-ingress1 namespace: my-ingress-namespace2 annotations: cert-manager.io/cluster-issuer: letsencrypt-staging3 spec: ingressClassName: openshift-default4 tls: - hosts: - <hostname>5 secretName: sample-tls6 rules: - host: <hostname>7 http: paths: - path: / pathType: Prefix backend: service: name: sample-workload8 port: number: 80- 1
- Specify the name of the Ingress.
- 2
- Specify the namespace that you created for the Ingress.
- 3
- Specify the cluster issuer that you created.
- 4
- Specify the Ingress class.
- 5
- Replace
<hostname>with the Subject Alternative Name (SAN) to be associated with the certificate. This name is used to add DNS names to the certificate. - 6
- Specify the secret that stores the certificate.
- 7
- Replace
<hostname>with the hostname. You can use the<host_name>.<cluster_ingress_domain>syntax to take advantage of the*.<cluster_ingress_domain>wildcard DNS record and serving certificate for the cluster. For example, you might useapps.<cluster_base_domain>. Otherwise, you must ensure that a DNS record exists for the chosen hostname. - 8
- Specify the name of the service to expose. This example uses a service named
sample-workload.
Create the
object by running the following command:Ingress$ oc create -f ingress.yaml
9.4.3. Configuring an ACME issuer by using explicit credentials for AWS Route53 Link kopierenLink in die Zwischenablage kopiert!
You can use cert-manager Operator for Red Hat OpenShift to set up an Automated Certificate Management Environment (ACME) issuer to solve DNS-01 challenges by using explicit credentials on AWS. This procedure uses Let’s Encrypt as the ACME certificate authority (CA) server and shows how to solve DNS-01 challenges with Amazon Route 53.
Prerequisites
You must provide the explicit
andaccessKeyIDcredentials. For more information, see Route53 in the upstream cert-manager documentation.secretAccessKeyNoteYou can use Amazon Route 53 with explicit credentials in an OpenShift Container Platform cluster that is not running on AWS.
Procedure
Optional: Override the nameserver settings for the DNS-01 self check.
This step is required only when the target public-hosted zone overlaps with the cluster’s default private-hosted zone.
Edit the
resource by running the following command:CertManager$ oc edit certmanager clusterAdd a
section with the following override arguments:spec.controllerConfigapiVersion: operator.openshift.io/v1alpha1 kind: CertManager metadata: name: cluster ... spec: ... controllerConfig:1 overrideArgs: - '--dns01-recursive-nameservers-only'2 - '--dns01-recursive-nameservers=1.1.1.1:53'3 - 1
- Add the
spec.controllerConfigsection. - 2
- Specify to only use recursive nameservers instead of checking the authoritative nameservers associated with that domain.
- 3
- Provide a comma-separated list of
<host>:<port>nameservers to query for the DNS-01 self check. You must use a1.1.1.1:53value to avoid the public and private zones overlapping.
- Save the file to apply the changes.
Optional: Create a namespace for the issuer:
$ oc new-project <issuer_namespace>Create a secret to store your AWS credentials in by running the following command:
$ oc create secret generic aws-secret --from-literal=awsSecretAccessKey=<aws_secret_access_key> \1 -n my-issuer-namespace- 1
- Replace
<aws_secret_access_key>with your AWS secret access key.
Create an issuer:
Create a YAML file that defines the
object:IssuerExample
issuer.yamlfileapiVersion: cert-manager.io/v1 kind: Issuer metadata: name: <letsencrypt_staging>1 namespace: <issuer_namespace>2 spec: acme: server: https://acme-staging-v02.api.letsencrypt.org/directory3 email: "<email_address>"4 privateKeySecretRef: name: <secret_private_key>5 solvers: - dns01: route53: accessKeyID: <aws_key_id>6 hostedZoneID: <hosted_zone_id>7 region: <region_name>8 secretAccessKeySecretRef: name: "aws-secret"9 key: "awsSecretAccessKey"10 - 1
- Provide a name for the issuer.
- 2
- Specify the namespace that you created for the issuer.
- 3
- Specify the URL to access the ACME server’s
directoryendpoint. This example uses the Let’s Encrypt staging environment. - 4
- Replace
<email_address>with your email address. - 5
- Replace
<secret_private_key>with the name of the secret to store the ACME account private key in. - 6
- Replace
<aws_key_id>with your AWS key ID. - 7
- Replace
<hosted_zone_id>with your hosted zone ID. - 8
- Replace
<region_name>with the AWS region name. For example,us-east-1. - 9
- Specify the name of the secret you created.
- 10
- Specify the key in the secret you created that stores your AWS secret access key.
Create the
object by running the following command:Issuer$ oc create -f issuer.yaml
9.4.4. Configuring an ACME issuer by using ambient credentials on AWS Link kopierenLink in die Zwischenablage kopiert!
You can use cert-manager Operator for Red Hat OpenShift to set up an ACME issuer to solve DNS-01 challenges by using ambient credentials on AWS. This procedure uses Let’s Encrypt as the ACME CA server and shows how to solve DNS-01 challenges with Amazon Route 53.
Prerequisites
- If your cluster is configured to use the AWS Security Token Service (STS), you followed the instructions from the Configuring cloud credentials for the cert-manager Operator for Red Hat OpenShift for the AWS Security Token Service cluster section.
- If your cluster does not use the AWS STS, you followed the instructions from the Configuring cloud credentials for the cert-manager Operator for Red Hat OpenShift on AWS section.
Procedure
Optional: Override the nameserver settings for the DNS-01 self check.
This step is required only when the target public-hosted zone overlaps with the cluster’s default private-hosted zone.
Edit the
resource by running the following command:CertManager$ oc edit certmanager clusterAdd a
section with the following override arguments:spec.controllerConfigapiVersion: operator.openshift.io/v1alpha1 kind: CertManager metadata: name: cluster ... spec: ... controllerConfig:1 overrideArgs: - '--dns01-recursive-nameservers-only'2 - '--dns01-recursive-nameservers=1.1.1.1:53'3 - 1
- Add the
spec.controllerConfigsection. - 2
- Specify to only use recursive nameservers instead of checking the authoritative nameservers associated with that domain.
- 3
- Provide a comma-separated list of
<host>:<port>nameservers to query for the DNS-01 self check. You must use a1.1.1.1:53value to avoid the public and private zones overlapping.
- Save the file to apply the changes.
Optional: Create a namespace for the issuer:
$ oc new-project <issuer_namespace>Modify the
resource to add theCertManagerargument:--issuer-ambient-credentials$ oc patch certmanager/cluster \ --type=merge \ -p='{"spec":{"controllerConfig":{"overrideArgs":["--issuer-ambient-credentials"]}}}'Create an issuer:
Create a YAML file that defines the
object:IssuerExample
issuer.yamlfileapiVersion: cert-manager.io/v1 kind: Issuer metadata: name: <letsencrypt_staging>1 namespace: <issuer_namespace>2 spec: acme: server: https://acme-staging-v02.api.letsencrypt.org/directory3 email: "<email_address>"4 privateKeySecretRef: name: <secret_private_key>5 solvers: - dns01: route53: hostedZoneID: <hosted_zone_id>6 region: us-east-1- 1
- Provide a name for the issuer.
- 2
- Specify the namespace that you created for the issuer.
- 3
- Specify the URL to access the ACME server’s
directoryendpoint. This example uses the Let’s Encrypt staging environment. - 4
- Replace
<email_address>with your email address. - 5
- Replace
<secret_private_key>with the name of the secret to store the ACME account private key in. - 6
- Replace
<hosted_zone_id>with your hosted zone ID.
Create the
object by running the following command:Issuer$ oc create -f issuer.yaml
9.4.5. Configuring an ACME issuer by using explicit credentials for Google Cloud DNS Link kopierenLink in die Zwischenablage kopiert!
You can use the cert-manager Operator for Red Hat OpenShift to set up an ACME issuer to solve DNS-01 challenges by using explicit credentials on Google Cloud. This procedure uses Let’s Encrypt as the ACME CA server and shows how to solve DNS-01 challenges with Google Cloud DNS.
Prerequisites
You have set up a Google Cloud service account with a desired role for Google Cloud DNS. For more information, see Google Cloud DNS in the upstream cert-manager documentation.
NoteYou can use Google Cloud DNS with explicit credentials in an OpenShift Container Platform cluster that is not running on Google Cloud.
Procedure
Optional: Override the nameserver settings for the DNS-01 self check.
This step is required only when the target public-hosted zone overlaps with the cluster’s default private-hosted zone.
Edit the
resource by running the following command:CertManager$ oc edit certmanager clusterAdd a
section with the following override arguments:spec.controllerConfigapiVersion: operator.openshift.io/v1alpha1 kind: CertManager metadata: name: cluster ... spec: ... controllerConfig:1 overrideArgs: - '--dns01-recursive-nameservers-only'2 - '--dns01-recursive-nameservers=1.1.1.1:53'3 - 1
- Add the
spec.controllerConfigsection. - 2
- Specify to only use recursive nameservers instead of checking the authoritative nameservers associated with that domain.
- 3
- Provide a comma-separated list of
<host>:<port>nameservers to query for the DNS-01 self check. You must use a1.1.1.1:53value to avoid the public and private zones overlapping.
- Save the file to apply the changes.
Optional: Create a namespace for the issuer:
$ oc new-project my-issuer-namespaceCreate a secret to store your Google Cloud credentials by running the following command:
$ oc create secret generic clouddns-dns01-solver-svc-acct --from-file=service_account.json=<path/to/gcp_service_account.json> -n my-issuer-namespaceCreate an issuer:
Create a YAML file that defines the
object:IssuerExample
issuer.yamlfileapiVersion: cert-manager.io/v1 kind: Issuer metadata: name: <acme_dns01_clouddns_issuer>1 namespace: <issuer_namespace>2 spec: acme: preferredChain: "" privateKeySecretRef: name: <secret_private_key>3 server: https://acme-staging-v02.api.letsencrypt.org/directory4 solvers: - dns01: cloudDNS: project: <project_id>5 serviceAccountSecretRef: name: clouddns-dns01-solver-svc-acct6 key: service_account.json7 - 1
- Provide a name for the issuer.
- 2
- Replace
<issuer_namespace>with your issuer namespace. - 3
- Replace
<secret_private_key>with the name of the secret to store the ACME account private key in. - 4
- Specify the URL to access the ACME server’s
directoryendpoint. This example uses the Let’s Encrypt staging environment. - 5
- Replace
<project_id>with the name of the Google Cloud project that contains the Cloud DNS zone. - 6
- Specify the name of the secret you created.
- 7
- Specify the key in the secret you created that stores your Google Cloud secret access key.
Create the
object by running the following command:Issuer$ oc create -f issuer.yaml
9.4.6. Configuring an ACME issuer by using ambient credentials on Google Cloud Link kopierenLink in die Zwischenablage kopiert!
You can use the cert-manager Operator for Red Hat OpenShift to set up an ACME issuer to solve DNS-01 challenges by using ambient credentials on Google Cloud. This procedure uses Let’s Encrypt as the ACME CA server and shows how to solve DNS-01 challenges with Google Cloud DNS.
Prerequisites
- If your cluster is configured to use Google Cloud Workload Identity, you followed the instructions from the Configuring cloud credentials for the cert-manager Operator for Red Hat OpenShift with Google Cloud Workload Identity section.
- If your cluster does not use Google Cloud Workload Identity, you followed the instructions from the Configuring cloud credentials for the cert-manager Operator for Red Hat OpenShift on Google Cloud section.
Procedure
Optional: Override the nameserver settings for the DNS-01 self check.
This step is required only when the target public-hosted zone overlaps with the cluster’s default private-hosted zone.
Edit the
resource by running the following command:CertManager$ oc edit certmanager clusterAdd a
section with the following override arguments:spec.controllerConfigapiVersion: operator.openshift.io/v1alpha1 kind: CertManager metadata: name: cluster ... spec: ... controllerConfig:1 overrideArgs: - '--dns01-recursive-nameservers-only'2 - '--dns01-recursive-nameservers=1.1.1.1:53'3 - 1
- Add the
spec.controllerConfigsection. - 2
- Specify to only use recursive nameservers instead of checking the authoritative nameservers associated with that domain.
- 3
- Provide a comma-separated list of
<host>:<port>nameservers to query for the DNS-01 self check. You must use a1.1.1.1:53value to avoid the public and private zones overlapping.
- Save the file to apply the changes.
Optional: Create a namespace for the issuer:
$ oc new-project <issuer_namespace>Modify the
resource to add theCertManagerargument:--issuer-ambient-credentials$ oc patch certmanager/cluster \ --type=merge \ -p='{"spec":{"controllerConfig":{"overrideArgs":["--issuer-ambient-credentials"]}}}'Create an issuer:
Create a YAML file that defines the
object:IssuerExample
issuer.yamlfileapiVersion: cert-manager.io/v1 kind: Issuer metadata: name: <acme_dns01_clouddns_issuer>1 namespace: <issuer_namespace> spec: acme: preferredChain: "" privateKeySecretRef: name: <secret_private_key>2 server: https://acme-staging-v02.api.letsencrypt.org/directory3 solvers: - dns01: cloudDNS: project: <gcp_project_id>4 - 1
- Provide a name for the issuer.
- 2
- Replace
<secret_private_key>with the name of the secret to store the ACME account private key in. - 3
- Specify the URL to access the ACME server’s
directoryendpoint. This example uses the Let’s Encrypt staging environment. - 4
- Replace
<gcp_project_id>with the name of the Google Cloud project that contains the Cloud DNS zone.
Create the
object by running the following command:Issuer$ oc create -f issuer.yaml
9.4.7. Configuring an ACME issuer by using explicit credentials for Microsoft Azure DNS Link kopierenLink in die Zwischenablage kopiert!
You can use cert-manager Operator for Red Hat OpenShift to set up an ACME issuer to solve DNS-01 challenges by using explicit credentials on Microsoft Azure. This procedure uses Let’s Encrypt as the ACME CA server and shows how to solve DNS-01 challenges with Azure DNS.
Prerequisites
You have set up a service principal with desired role for Azure DNS. For more information, see Azure DNS in the upstream cert-manager documentation.
NoteYou can follow this procedure for an OpenShift Container Platform cluster that is not running on Microsoft Azure.
Procedure
Optional: Override the nameserver settings for the DNS-01 self check.
This step is required only when the target public-hosted zone overlaps with the cluster’s default private-hosted zone.
Edit the
resource by running the following command:CertManager$ oc edit certmanager clusterAdd a
section with the following override arguments:spec.controllerConfigapiVersion: operator.openshift.io/v1alpha1 kind: CertManager metadata: name: cluster ... spec: ... controllerConfig:1 overrideArgs: - '--dns01-recursive-nameservers-only'2 - '--dns01-recursive-nameservers=1.1.1.1:53'3 - 1
- Add the
spec.controllerConfigsection. - 2
- Specify to only use recursive nameservers instead of checking the authoritative nameservers associated with that domain.
- 3
- Provide a comma-separated list of
<host>:<port>nameservers to query for the DNS-01 self check. You must use a1.1.1.1:53value to avoid the public and private zones overlapping.
- Save the file to apply the changes.
Optional: Create a namespace for the issuer:
$ oc new-project my-issuer-namespaceCreate a secret to store your Azure credentials in by running the following command:
$ oc create secret generic <secret_name> --from-literal=<azure_secret_access_key_name>=<azure_secret_access_key_value> \1 2 3 -n my-issuer-namespaceCreate an issuer:
Create a YAML file that defines the
object:IssuerExample
issuer.yamlfileapiVersion: cert-manager.io/v1 kind: Issuer metadata: name: <acme-dns01-azuredns-issuer>1 namespace: <issuer_namespace>2 spec: acme: preferredChain: "" privateKeySecretRef: name: <secret_private_key>3 server: https://acme-staging-v02.api.letsencrypt.org/directory4 solvers: - dns01: azureDNS: clientID: <azure_client_id>5 clientSecretSecretRef: name: <secret_name>6 key: <azure_secret_access_key_name>7 subscriptionID: <azure_subscription_id>8 tenantID: <azure_tenant_id>9 resourceGroupName: <azure_dns_zone_resource_group>10 hostedZoneName: <azure_dns_zone>11 environment: AzurePublicCloud- 1
- Provide a name for the issuer.
- 2
- Replace
<issuer_namespace>with your issuer namespace. - 3
- Replace
<secret_private_key>with the name of the secret to store the ACME account private key in. - 4
- Specify the URL to access the ACME server’s
directoryendpoint. This example uses the Let’s Encrypt staging environment. - 5
- Replace
<azure_client_id>with your Azure client ID. - 6
- Replace
<secret_name>with a name of the client secret. - 7
- Replace
<azure_secret_access_key_name>with the client secret key name. - 8
- Replace
<azure_subscription_id>with your Azure subscription ID. - 9
- Replace
<azure_tenant_id>with your Azure tenant ID. - 10
- Replace
<azure_dns_zone_resource_group>with the name of the Azure DNS zone resource group. - 11
- Replace
<azure_dns_zone>with the name of Azure DNS zone.
Create the
object by running the following command:Issuer$ oc create -f issuer.yaml
9.5. Configuring certificates with an issuer Link kopierenLink in die Zwischenablage kopiert!
By using the cert-manager Operator for Red Hat OpenShift, you can manage certificates, handling tasks such as renewal and issuance, for workloads within the cluster, as well as components interacting externally to the cluster.
9.5.1. Creating certificates for user workloads Link kopierenLink in die Zwischenablage kopiert!
Prerequisites
-
You have access to the cluster with privileges.
cluster-admin - You have installed the cert-manager Operator for Red Hat OpenShift.
Procedure
- Create an issuer. For more information, see "Configuring an issuer" in the "Additional resources" section.
Create a certificate:
Create a YAML file, for example,
, that defines thecertificate.yamlobject:CertificateExample
certificate.yamlfileapiVersion: cert-manager.io/v1 kind: Certificate metadata: name: <tls_cert>1 namespace: <issuer_namespace>2 spec: isCA: false commonName: '<common_name>'3 secretName: <secret_name>4 dnsNames: - "<domain_name>"5 issuerRef: name: <issuer_name>6 kind: IssuerCreate the
object by running the following command:Certificate$ oc create -f certificate.yaml
Verification
Verify that the certificate is created and ready to use by running the following command:
$ oc get certificate -w -n <issuer_namespace>Once certificate is in
status, workloads on your cluster can start using the generated certificate secret.Ready
9.5.2. Creating certificates for the API server Link kopierenLink in die Zwischenablage kopiert!
Prerequisites
-
You have access to the cluster with privileges.
cluster-admin - You have installed version 1.13.0 or later of the cert-manager Operator for Red Hat OpenShift.
Procedure
- Create an issuer. For more information, see "Configuring an issuer" in the "Additional resources" section.
Create a certificate:
Create a YAML file, for example,
, that defines thecertificate.yamlobject:CertificateExample
certificate.yamlfileapiVersion: cert-manager.io/v1 kind: Certificate metadata: name: <tls_cert>1 namespace: openshift-config spec: isCA: false commonName: "api.<cluster_base_domain>"2 secretName: <secret_name>3 dnsNames: - "api.<cluster_base_domain>"4 issuerRef: name: <issuer_name>5 kind: IssuerCreate the
object by running the following command:Certificate$ oc create -f certificate.yaml
- Add the API server named certificate. For more information, see "Adding an API server named certificate" section in the "Additional resources" section.
To ensure the certificates are updated, run the
oc login
Verification
Verify that the certificate is created and ready to use by running the following command:
$ oc get certificate -w -n openshift-configOnce certificate is in
status, API server on your cluster can start using the generated certificate secret.Ready
9.5.3. Creating certificates for the Ingress Controller Link kopierenLink in die Zwischenablage kopiert!
Prerequisites
-
You have access to the cluster with privileges.
cluster-admin - You have installed version 1.13.0 or later of the cert-manager Operator for Red Hat OpenShift.
Procedure
- Create an issuer. For more information, see "Configuring an issuer" in the "Additional resources" section.
Create a certificate:
Create a YAML file, for example,
, that defines thecertificate.yamlobject:CertificateExample
certificate.yamlfileapiVersion: cert-manager.io/v1 kind: Certificate metadata: name: <tls_cert>1 namespace: openshift-ingress spec: isCA: false commonName: "apps.<cluster_base_domain>"2 secretName: <secret_name>3 dnsNames: - "apps.<cluster_base_domain>"4 - "*.apps.<cluster_base_domain>"5 issuerRef: name: <issuer_name>6 kind: IssuerCreate the
object by running the following command:Certificate$ oc create -f certificate.yaml
- Replace the default ingress certificate. For more information, see "Replacing the default ingress certificate" section in the "Additional resources" section.
Verification
Verify that the certificate is created and ready to use by running the following command:
$ oc get certificate -w -n openshift-ingressOnce certificate is in
status, Ingress Controller on your cluster can start using the generated certificate secret.Ready
9.6. Enabling monitoring for the cert-manager Operator for Red Hat OpenShift Link kopierenLink in die Zwischenablage kopiert!
By default, the cert-manager Operator for Red Hat OpenShift exposes metrics for the three core components: controller, cainjector, and webhook. You can configure OpenShift Monitoring to collect these metrics by using the Prometheus Operator format.
9.6.1. Enabling user workload monitoring Link kopierenLink in die Zwischenablage kopiert!
You can enable monitoring for user-defined projects by configuring user workload monitoring in the cluster. For more information, see "Setting up metrics collection for user-defined projects".
Prerequisites
-
You have access to the cluster as a user with the role.
cluster-admin
Procedure
Create the
YAML file:cluster-monitoring-config.yamlapiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | enableUserWorkload: trueApply the
by running the following command:ConfigMap$ oc apply -f cluster-monitoring-config.yaml
Verification
Verify that the monitoring components for user workloads are running in the
namespace by running the following command:openshift-user-workload-monitoring$ oc -n openshift-user-workload-monitoring get podExample output
NAME READY STATUS RESTARTS AGE prometheus-operator-6cb6bd9588-dtzxq 2/2 Running 0 50s prometheus-user-workload-0 6/6 Running 0 48s prometheus-user-workload-1 6/6 Running 0 48s thanos-ruler-user-workload-0 4/4 Running 0 42s thanos-ruler-user-workload-1 4/4 Running 0 42sThe status of the pods such as
,prometheus-operator, andprometheus-user-workloadmust bethanos-ruler-user-workload.Running
9.6.2. Configuring metrics collection for cert-manager Operator for Red Hat OpenShift operands by using a ServiceMonitor Link kopierenLink in die Zwischenablage kopiert!
The cert-manager Operator for Red Hat OpenShift operands exposes metrics by default on port
9402
/metrics
ServiceMonitor
Prerequisites
-
You have access to the cluster as a user with the role.
cluster-admin - You have installed the cert-manager Operator for Red Hat OpenShift.
- You have enabled the user workload monitoring.
Procedure
Create the
CR:ServiceMonitorCreate the YAML file that defines the
CR:ServiceMonitorExample
servicemonitor-cert-manager.yamlfileapiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: labels: app: cert-manager app.kubernetes.io/instance: cert-manager app.kubernetes.io/name: cert-manager name: cert-manager namespace: cert-manager spec: endpoints: - honorLabels: false interval: 60s path: /metrics scrapeTimeout: 30s targetPort: 9402 selector: matchExpressions: - key: app.kubernetes.io/name operator: In values: - cainjector - cert-manager - webhook - key: app.kubernetes.io/instance operator: In values: - cert-manager - key: app.kubernetes.io/component operator: In values: - cainjector - controller - webhookCreate the
CR by running the following command:ServiceMonitor$ oc apply -f servicemonitor-cert-manager.yamlAfter the
CR is created, the user workload Prometheus instance begins metrics collection from the cert-manager Operator for Red Hat OpenShift operands. The collected metrics are labeled withServiceMonitor,job="cert-manager", andjob="cert-manager-cainjector".job="cert-manager-webhook"
Verification
-
In the OpenShift Container Platform web console, navigate to Observe
Targets. In the Label filter field, enter the following labels to filter the metrics targets for each operand:
$ service=cert-manager$ service=cert-manager-webhook$ service=cert-manager-cainjector-
Confirm that the Status column shows for the
Up,cert-manager, andcert-manager-webhookentries.cert-manager-cainjector
9.6.3. Querying metrics for the cert-manager Operator for Red Hat OpenShift operands Link kopierenLink in die Zwischenablage kopiert!
As a cluster administrator, or as a user with view access to all namespaces, you can query cert-manager Operator for Red Hat OpenShift operands metrics by using the OpenShift Container Platform web console or the command-line interface (CLI). For more information, see "Accessing metrics".
Prerequisites
-
You have access to the cluster as a user with the role.
cluster-admin - You have installed the cert-manager Operator for Red Hat OpenShift.
-
You have enabled monitoring and metrics collection by creating object.
ServiceMonitor
Procedure
-
In the OpenShift Container Platform web console, navigate to Observe
Metrics. In the query field, enter the following PromQL expressions to query the cert-manager Operator for Red Hat OpenShift operands metric for each operand:
{job="cert-manager"}{job="cert-manager-webhook"}{job="cert-manager-cainjector"}
9.7. Integrating the cert-manager Operator for Red Hat OpenShift with Istio-CSR Link kopierenLink in die Zwischenablage kopiert!
Istio-CSR integration for cert-manager Operator for Red Hat OpenShift is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.
For more information about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope.
The cert-manager Operator for Red Hat OpenShift provides enhanced support for securing workloads and control plane components in Red Hat OpenShift Service Mesh or Istio. This includes support for certificates enabling mutual TLS (mTLS), which are signed, delivered, and renewed using cert-manager issuers. You can secure Istio workloads and control plane components by using the cert-manager Operator for Red Hat OpenShift managed Istio-CSR agent.
With this Istio-CSR integration, Istio can now obtain certificates from the cert-manager Operator for Red Hat OpenShift, simplifying security and certificate management.
9.7.1. Installing the Istio-CSR agent through cert-manager Operator for Red Hat OpenShift Link kopierenLink in die Zwischenablage kopiert!
9.7.1.1. Enabling the Istio-CSR feature Link kopierenLink in die Zwischenablage kopiert!
Use this procedure to enable the Istio-CSR feature in cert-manager Operator for Red Hat OpenShift.
Prerequisites
-
You have access to the cluster as a user with the role.
cluster-admin
Procedure
Update the deployment for the cert-manager Operator for Red Hat OpenShift to use the config map by running the following command:
$ oc -n cert-manager-operator patch subscription openshift-cert-manager-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"UNSUPPORTED_ADDON_FEATURES","value":"IstioCSR=true"}]}}}'
Verification
Verify that the deployments have finished rolling out by running the following command:
$ oc rollout status deployment/cert-manager-operator-controller-manager -n cert-manager-operatorExample output
deployment "cert-manager-operator-controller-manager" successfully rolled out
9.7.1.2. Creating a root CA issuer for the Istio-CSR agent Link kopierenLink in die Zwischenablage kopiert!
Use this procedure to create the root CA issuer for Istio-CSR agent.
Other supported issuers can be used, except for the ACME issuer, which is not supported. For more information, see "cert-manager Operator for Red Hat OpenShift issuer providers".
Procedure
Create a YAML file that defines the
andIssuerobjects:CertificateExample
issuer.yamlfileapiVersion: cert-manager.io/v1 kind: Issuer1 metadata: name: selfsigned namespace: <istio_project_name>2 spec: selfSigned: {} --- apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: istio-ca namespace: <istio_project_name> spec: isCA: true duration: 87600h # 10 years secretName: istio-ca commonName: istio-ca privateKey: algorithm: ECDSA size: 256 subject: organizations: - cluster.local - cert-manager issuerRef: name: selfsigned kind: Issuer3 group: cert-manager.io --- apiVersion: cert-manager.io/v1 kind: Issuer4 metadata: name: istio-ca namespace: <istio_project_name>5 spec: ca: secretName: istio-ca
Verification
Verify that the Issuer is created and ready to use by running the following command:
$ oc get issuer istio-ca -n <istio_project_name>Example output
NAME READY AGE istio-ca True 3m
9.7.1.3. Creating the IstioCSR custom resource Link kopierenLink in die Zwischenablage kopiert!
Use this procedure to install the Istio-CSR agent through cert-manager Operator for Red Hat OpenShift.
Prerequisites
-
You have access to the cluster with privileges.
cluster-admin - You have enabled the Istio-CSR feature.
You have created the
orIssuerresources required for generating certificates for the Istio-CSR agent.ClusterIssuerNoteIf you are using
resource, create theIssuerandIssuerresources in the Red Hat OpenShift Service Mesh orCertificatenamespace. Certificate requests are generated in the same namespace, and role-based access control (RBAC) is configured accordingly.Istiod
Procedure
Create a new project for installing Istio-CSR by running the following command. If you have an existing project for installing Istio-CSR, skip this step.
$ oc new-project <istio_csr_project_name>Create the
custom resource to enable Istio-CSR agent managed by the cert-manager Operator for Red Hat OpenShift for processing Istio workload and control plane certificate signing requests.IstioCSRNoteOnly one
custom resource (CR) is supported at a time. If multipleIstioCSRCRs are created, only one will be active. Use theIstioCSRsub-resource ofstatusto check if a resource is unprocessed.IstioCSR-
If multiple CRs are created simultaneously, none will be processed.
IstioCSR -
If multiple CRs are created sequentially, only the first one will be processed.
IstioCSR -
To prevent new requests from being rejected, delete any unprocessed CRs.
IstioCSR -
The Operator does not automatically remove objects created for . If an active
IstioCSRresource is deleted and a new one is created in a different namespace without removing the previous deployments, multipleIstioCSRdeployments may remain active. This behavior is not recommended and is not supported.istio-csr
Create a YAML file that defines the
object:IstioCSRExample
IstioCSRCRapiVersion: operator.openshift.io/v1alpha1 kind: IstioCSR metadata: name: default namespace: <istio_csr_project_name> spec: istioCSRConfig: certManager: issuerRef: name: istio-ca1 kind: Issuer2 group: cert-manager.io istiodTLSConfig: trustDomain: cluster.local istio: namespace: <istio_project_name>Create the
custom resource by running the following command:IstioCSR$ oc create -f IstioCSR.yaml
-
If multiple
Verification
Verify that the Istio-CSR deployment is ready by running the following command:
$ oc get deployment -n <istio_csr_project_name>Example output
NAME READY UP-TO-DATE AVAILABLE AGE cert-manager-istio-csr 1/1 1 1 24sVerify that the Istio-CSR pods are running by running the following command:
$ oc get pod -n <istio_csr_project_name>Example output
NAME READY STATUS RESTARTS AGE cert-manager-istio-csr-5c979f9b7c-bv57w 1/1 Running 0 45sVerify that the Istio-CSR pod is not reporting any errors in the logs by running the following command:
$ oc -n <istio_csr_project_name> logs <istio_csr_pod_name>Verify that the cert-manager Operator for Red Hat OpenShift pod is not reporting any errors by running the following command:
$ oc -n cert-manager-operator logs <cert_manager_operator_pod_name>
9.7.2. Uninstalling the Istio-CSR agent managed by cert-manager Operator for Red Hat OpenShift Link kopierenLink in die Zwischenablage kopiert!
Use this procedure to uninstall the Istio-CSR agent managed by cert-manager Operator for Red Hat OpenShift.
Prerequisites
-
You have access to the cluster with privileges.
cluster-admin - You have enabled the Istio-CSR feature.
-
You have created the custom resource.
IstioCSR
Procedure
Remove the
custom resource by running the following command:IstioCSR$ oc -n <istio_csr_project_name> delete istiocsrs.operator.openshift.io defaultRemove related resources:
ImportantTo avoid disrupting any Red Hat OpenShift Service Mesh or Istio components, ensure that no component is referencing the Istio-CSR service or the certificates issued for Istio before removing the following resources.
List the cluster scoped-resources by running the following command and save the names of the listed resources for later reference:
$ oc get clusterrolebindings,clusterroles -l "app=cert-manager-istio-csr,app.kubernetes.io/name=cert-manager-istio-csr"List the resources in Istio-csr deployed namespace by running the following command and save the names of the listed resources for later reference:
$ oc get certificate,deployments,services,serviceaccounts -l "app=cert-manager-istio-csr,app.kubernetes.io/name=cert-manager-istio-csr" -n <istio_csr_project_name>List the resources in Red Hat OpenShift Service Mesh or Istio deployed namespaces by running the following command and save the names of the listed resources for later reference:
$ oc get roles,rolebindings -l "app=cert-manager-istio-csr,app.kubernetes.io/name=cert-manager-istio-csr" -n <istio_csr_project_name>For each resource listed in previous steps, delete the resource by running the following command:
$ oc -n <istio_csr_project_name> delete <resource_type>/<resource_name>Repeat this process until all of the related resources have been deleted.
9.7.3. Upgrading the cert-manager Operator for Red Hat OpenShift with Istio-CSR feature enabled Link kopierenLink in die Zwischenablage kopiert!
When the Istio-CSR TechPreview feature gate is enabled, the Operator cannot be upgraded. To use to the next available version, you must uninstall the cert-manager Operator for Red Hat OpenShift and remove all Istio-CSR resources before reinstalling it.
9.8. Configuring the egress proxy for the cert-manager Operator for Red Hat OpenShift Link kopierenLink in die Zwischenablage kopiert!
If a cluster-wide egress proxy is configured in OpenShift Container Platform, Operator Lifecycle Manager (OLM) automatically configures Operators that it manages with the cluster-wide proxy. OLM automatically updates all of the Operator’s deployments with the
HTTP_PROXY
HTTPS_PROXY
NO_PROXY
You can inject any CA certificates that are required for proxying HTTPS connections into the cert-manager Operator for Red Hat OpenShift.
9.8.1. Injecting a custom CA certificate for the cert-manager Operator for Red Hat OpenShift Link kopierenLink in die Zwischenablage kopiert!
If your OpenShift Container Platform cluster has the cluster-wide proxy enabled, you can inject any CA certificates that are required for proxying HTTPS connections into the cert-manager Operator for Red Hat OpenShift.
Prerequisites
-
You have access to the cluster as a user with the role.
cluster-admin - You have enabled the cluster-wide proxy for OpenShift Container Platform.
Procedure
Create a config map in the
namespace by running the following command:cert-manager$ oc create configmap trusted-ca -n cert-managerInject the CA bundle that is trusted by OpenShift Container Platform into the config map by running the following command:
$ oc label cm trusted-ca config.openshift.io/inject-trusted-cabundle=true -n cert-managerUpdate the deployment for the cert-manager Operator for Red Hat OpenShift to use the config map by running the following command:
$ oc -n cert-manager-operator patch subscription openshift-cert-manager-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"TRUSTED_CA_CONFIGMAP_NAME","value":"trusted-ca"}]}}}'
Verification
Verify that the deployments have finished rolling out by running the following command:
$ oc rollout status deployment/cert-manager-operator-controller-manager -n cert-manager-operator && \ oc rollout status deployment/cert-manager -n cert-manager && \ oc rollout status deployment/cert-manager-webhook -n cert-manager && \ oc rollout status deployment/cert-manager-cainjector -n cert-managerExample output
deployment "cert-manager-operator-controller-manager" successfully rolled out deployment "cert-manager" successfully rolled out deployment "cert-manager-webhook" successfully rolled out deployment "cert-manager-cainjector" successfully rolled outVerify that the CA bundle was mounted as a volume by running the following command:
$ oc get deployment cert-manager -n cert-manager -o=jsonpath={.spec.template.spec.'containers[0].volumeMounts'}Example output
[{"mountPath":"/etc/pki/tls/certs/cert-manager-tls-ca-bundle.crt","name":"trusted-ca","subPath":"ca-bundle.crt"}]Verify that the source of the CA bundle is the
config map by running the following command:trusted-ca$ oc get deployment cert-manager -n cert-manager -o=jsonpath={.spec.template.spec.volumes}Example output
[{"configMap":{"defaultMode":420,"name":"trusted-ca"},"name":"trusted-ca"}]
9.9. Customizing cert-manager Operator API fields Link kopierenLink in die Zwischenablage kopiert!
You can customize the cert-manager Operator for Red Hat OpenShift API fields by overriding environment variables and arguments.
To override unsupported arguments, you can add
spec.unsupportedConfigOverrides
CertManager
spec.unsupportedConfigOverrides
9.9.1. Customizing cert-manager by overriding environment variables from the cert-manager Operator API Link kopierenLink in die Zwischenablage kopiert!
You can override the supported environment variables for the cert-manager Operator for Red Hat OpenShift by adding a
spec.controllerConfig
CertManager
Prerequisites
-
You have access to the OpenShift Container Platform cluster as a user with the role.
cluster-admin
Procedure
Edit the
resource by running the following command:CertManager$ oc edit certmanager clusterAdd a
section with the following override arguments:spec.controllerConfigapiVersion: operator.openshift.io/v1alpha1 kind: CertManager metadata: name: cluster ... spec: ... controllerConfig: overrideEnv: - name: HTTP_PROXY value: http://<proxy_url>1 - name: HTTPS_PROXY value: https://<proxy_url>2 - name: NO_PROXY value: <ignore_proxy_domains>3 - Save your changes and quit the text editor to apply your changes.
Verification
Verify that the cert-manager controller pod is redeployed by running the following command:
$ oc get pods -l app.kubernetes.io/name=cert-manager -n cert-managerExample output
NAME READY STATUS RESTARTS AGE cert-manager-bd7fbb9fc-wvbbt 1/1 Running 0 39sVerify that environment variables are updated for the cert-manager pod by running the following command:
$ oc get pod <redeployed_cert-manager_controller_pod> -n cert-manager -o yamlExample output
env: ... - name: HTTP_PROXY value: http://<PROXY_URL> - name: HTTPS_PROXY value: https://<PROXY_URL> - name: NO_PROXY value: <IGNORE_PROXY_DOMAINS>
9.9.2. Customizing cert-manager by overriding arguments from the cert-manager Operator API Link kopierenLink in die Zwischenablage kopiert!
You can override the supported arguments for the cert-manager Operator for Red Hat OpenShift by adding a
spec.controllerConfig
CertManager
Prerequisites
-
You have access to the OpenShift Container Platform cluster as a user with the role.
cluster-admin
Procedure
Edit the
resource by running the following command:CertManager$ oc edit certmanager clusterAdd a
section with the following override arguments:spec.controllerConfigapiVersion: operator.openshift.io/v1alpha1 kind: CertManager metadata: name: cluster ... spec: ... controllerConfig: overrideArgs: - '--dns01-recursive-nameservers=<host>:<port>'1 - '--dns01-recursive-nameservers-only'2 - '--acme-http01-solver-nameservers=<host>:<port>'3 - '--v=<verbosity_level>'4 - '--metrics-listen-address=<host>:<port>'5 - '--issuer-ambient-credentials'6 webhookConfig: overrideArgs: - '--v=4'7 cainjectorConfig: overrideArgs: - '--v=2'8 - 1
- Provide a comma-separated list of
<host>:<port>nameservers to query for the DNS-01 self check. For example,--dns01-recursive-nameservers=1.1.1.1:53. - 2
- Specify to only use recursive nameservers instead of checking the authoritative nameservers associated with that domain.
- 3
- Provide a comma-separated list of
<host>:<port>nameservers to query for the Automated Certificate Management Environment (ACME) HTTP01 self check. For example,--acme-http01-solver-nameservers=1.1.1.1:53. - 4 7 8
- Specify to set the log level verbosity to determine the verbosity of log messages.
- 5
- Specify the host and port for the metrics endpoint. The default value is
--metrics-listen-address=0.0.0.0:9402. - 6
- You must use the
--issuer-ambient-credentialsargument when configuring an ACME Issuer to solve DNS-01 challenges by using ambient credentials.
- Save your changes and quit the text editor to apply your changes.
Verification
Verify that arguments are updated for cert-manager pods by running the following command:
$ oc get pods -n cert-manager -o yamlExample output
... metadata: name: cert-manager-6d4b5d4c97-kldwl namespace: cert-manager ... spec: containers: - args: - --acme-http01-solver-nameservers=1.1.1.1:53 - --cluster-resource-namespace=$(POD_NAMESPACE) - --dns01-recursive-nameservers=1.1.1.1:53 - --dns01-recursive-nameservers-only - --leader-election-namespace=kube-system - --max-concurrent-challenges=60 - --metrics-listen-address=0.0.0.0:9042 - --v=6 ... metadata: name: cert-manager-cainjector-866c4fd758-ltxxj namespace: cert-manager ... spec: containers: - args: - --leader-election-namespace=kube-system - --v=2 ... metadata: name: cert-manager-webhook-6d48f88495-c88gd namespace: cert-manager ... spec: containers: - args: ... - --v=4
9.9.3. Deleting a TLS secret automatically upon Certificate removal Link kopierenLink in die Zwischenablage kopiert!
You can enable the
--enable-certificate-owner-ref
spec.controllerConfig
CertManager
--enable-certificate-owner-ref
If you uninstall the cert-manager Operator for Red Hat OpenShift or delete certificate resources from the cluster, the secret is deleted automatically. This might cause network connectivity issues depending upon where the certificate TLS secret is being used.
Prerequisites
-
You have access to the OpenShift Container Platform cluster as a user with the role.
cluster-admin - You have installed version 1.12.0 or later of the cert-manager Operator for Red Hat OpenShift.
Procedure
Check that the
object and its secret are available by running the following command:Certificate$ oc get certificateExample output
NAME READY SECRET AGE certificate-from-clusterissuer-route53-ambient True certificate-from-clusterissuer-route53-ambient 8hEdit the
resource by running the following command:CertManager$ oc edit certmanager clusterAdd a
section with the following override arguments:spec.controllerConfigapiVersion: operator.openshift.io/v1alpha1 kind: CertManager metadata: name: cluster # ... spec: # ... controllerConfig: overrideArgs: - '--enable-certificate-owner-ref'- Save your changes and quit the text editor to apply your changes.
Verification
Verify that the
flag is updated for cert-manager controller pod by running the following command:--enable-certificate-owner-ref$ oc get pods -l app.kubernetes.io/name=cert-manager -n cert-manager -o yamlExample output
# ... metadata: name: cert-manager-6e4b4d7d97-zmdnb namespace: cert-manager # ... spec: containers: - args: - --enable-certificate-owner-ref
9.9.4. Overriding CPU and memory limits for the cert-manager components Link kopierenLink in die Zwischenablage kopiert!
After installing the cert-manager Operator for Red Hat OpenShift, you can configure the CPU and memory limits from the cert-manager Operator for Red Hat OpenShift API for the cert-manager components such as cert-manager controller, CA injector, and Webhook.
Prerequisites
-
You have access to the OpenShift Container Platform cluster as a user with the role.
cluster-admin - You have installed version 1.12.0 or later of the cert-manager Operator for Red Hat OpenShift.
Procedure
Check that the deployments of the cert-manager controller, CA injector, and Webhook are available by entering the following command:
$ oc get deployment -n cert-managerExample output
NAME READY UP-TO-DATE AVAILABLE AGE cert-manager 1/1 1 1 53m cert-manager-cainjector 1/1 1 1 53m cert-manager-webhook 1/1 1 1 53mBefore setting the CPU and memory limit, check the existing configuration for the cert-manager controller, CA injector, and Webhook by entering the following command:
$ oc get deployment -n cert-manager -o yamlExample output
# ... metadata: name: cert-manager namespace: cert-manager # ... spec: template: spec: containers: - name: cert-manager-controller resources: {}1 # ... metadata: name: cert-manager-cainjector namespace: cert-manager # ... spec: template: spec: containers: - name: cert-manager-cainjector resources: {}2 # ... metadata: name: cert-manager-webhook namespace: cert-manager # ... spec: template: spec: containers: - name: cert-manager-webhook resources: {}3 # ...To configure the CPU and memory limits for the cert-manager controller, CA injector, and Webhook, enter the following command:
$ oc patch certmanager.operator cluster --type=merge -p=" spec: controllerConfig: overrideResources: limits:1 cpu: 200m2 memory: 64Mi3 requests:4 cpu: 10m5 memory: 16Mi6 webhookConfig: overrideResources: limits:7 cpu: 200m8 memory: 64Mi9 requests:10 cpu: 10m11 memory: 16Mi12 cainjectorConfig: overrideResources: limits:13 cpu: 200m14 memory: 64Mi15 requests:16 cpu: 10m17 memory: 16Mi18 "- 1
- Defines the maximum amount of CPU and memory that a single container in a cert-manager controller pod can request.
- 2 5
- You can specify the CPU limit that a cert-manager controller pod can request. The default value is
10m. - 3 6
- You can specify the memory limit that a cert-manager controller pod can request. The default value is
32Mi. - 4
- Defines the amount of CPU and memory set by scheduler for the cert-manager controller pod.
- 7
- Defines the maximum amount of CPU and memory that a single container in a CA injector pod can request.
- 8 11
- You can specify the CPU limit that a CA injector pod can request. The default value is
10m. - 9 12
- You can specify the memory limit that a CA injector pod can request. The default value is
32Mi. - 10
- Defines the amount of CPU and memory set by scheduler for the CA injector pod.
- 13
- Defines the maximum amount of CPU and memory Defines the maximum amount of CPU and memory that a single container in a Webhook pod can request.
- 14 17
- You can specify the CPU limit that a Webhook pod can request. The default value is
10m. - 15 18
- You can specify the memory limit that a Webhook pod can request. The default value is
32Mi. - 16
- Defines the amount of CPU and memory set by scheduler for the Webhook pod.
Example output
certmanager.operator.openshift.io/cluster patched
Verification
Verify that the CPU and memory limits are updated for the cert-manager components:
$ oc get deployment -n cert-manager -o yamlExample output
# ... metadata: name: cert-manager namespace: cert-manager # ... spec: template: spec: containers: - name: cert-manager-controller resources: limits: cpu: 200m memory: 64Mi requests: cpu: 10m memory: 16Mi # ... metadata: name: cert-manager-cainjector namespace: cert-manager # ... spec: template: spec: containers: - name: cert-manager-cainjector resources: limits: cpu: 200m memory: 64Mi requests: cpu: 10m memory: 16Mi # ... metadata: name: cert-manager-webhook namespace: cert-manager # ... spec: template: spec: containers: - name: cert-manager-webhook resources: limits: cpu: 200m memory: 64Mi requests: cpu: 10m memory: 16Mi # ...
9.9.5. Configuring scheduling overrides for cert-manager components Link kopierenLink in die Zwischenablage kopiert!
You can configure the pod scheduling from the cert-manager Operator for Red Hat OpenShift API for the cert-manager Operator for Red Hat OpenShift components such as cert-manager controller, CA injector, and Webhook.
Prerequisites
-
You have access to the OpenShift Container Platform cluster as a user with the role.
cluster-admin - You have installed version 1.15.0 or later of the cert-manager Operator for Red Hat OpenShift.
Procedure
Update the
custom resource to configure pod scheduling overrides for the desired components by running the following command. Use thecertmanager.operatorfield under theoverrideScheduling,controllerConfig, orwebhookConfigsections to definecainjectorConfigandnodeSelectorsettings.tolerations$ oc patch certmanager.operator cluster --type=merge -p=" spec: controllerConfig: overrideScheduling: nodeSelector: node-role.kubernetes.io/control-plane: ''1 tolerations: - key: node-role.kubernetes.io/master operator: Exists effect: NoSchedule2 webhookConfig: overrideScheduling: nodeSelector: node-role.kubernetes.io/control-plane: ''3 tolerations: - key: node-role.kubernetes.io/master operator: Exists effect: NoSchedule4 cainjectorConfig: overrideScheduling: nodeSelector: node-role.kubernetes.io/control-plane: ''5 tolerations: - key: node-role.kubernetes.io/master operator: Exists effect: NoSchedule"6 - 1
- Defines the
nodeSelectorfor the cert-manager controller deployment. - 2
- Defines the
tolerationsfor the cert-manager controller deployment. - 3
- Defines the
nodeSelectorfor the cert-manager webhook deployment. - 4
- Defines the
tolerationsfor the cert-manager webhook deployment. - 5
- Defines the
nodeSelectorfor the cert-manager cainjector deployment. - 6
- Defines the
tolerationsfor the cert-manager cainjector deployment.
Verification
Verify pod scheduling settings for
pods:cert-managerCheck the deployments in the
namespace to confirm they have the correctcert-managerandnodeSelectorby running the following command:tolerations$ oc get pods -n cert-manager -o wideExample output
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES cert-manager-58d9c69db4-78mzp 1/1 Running 0 10m 10.129.0.36 ip-10-0-1-106.ec2.internal <none> <none> cert-manager-cainjector-85b6987c66-rhzf7 1/1 Running 0 11m 10.128.0.39 ip-10-0-1-136.ec2.internal <none> <none> cert-manager-webhook-7f54b4b858-29bsp 1/1 Running 0 11m 10.129.0.35 ip-10-0-1-106.ec2.internal <none> <none>Check the
andnodeSelectorsettings applied to deployments by running the following command:tolerations$ oc get deployments -n cert-manager -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{.spec.template.spec.nodeSelector}{"\n"}{.spec.template.spec.tolerations}{"\n\n"}{end}'Example output
cert-manager {"kubernetes.io/os":"linux","node-role.kubernetes.io/control-plane":""} [{"effect":"NoSchedule","key":"node-role.kubernetes.io/master","operator":"Exists"}] cert-manager-cainjector {"kubernetes.io/os":"linux","node-role.kubernetes.io/control-plane":""} [{"effect":"NoSchedule","key":"node-role.kubernetes.io/master","operator":"Exists"}] cert-manager-webhook {"kubernetes.io/os":"linux","node-role.kubernetes.io/control-plane":""} [{"effect":"NoSchedule","key":"node-role.kubernetes.io/master","operator":"Exists"}]
Verify pod scheduling events in the
namespace by running the following command:cert-manager$ oc get events -n cert-manager --field-selector reason=Scheduled
9.10. Authenticating the cert-manager Operator for Red Hat OpenShift with AWS Security Token Service Link kopierenLink in die Zwischenablage kopiert!
You can authenticate the cert-manager Operator for Red Hat OpenShift on the AWS Security Token Service (STS) cluster. You can configure cloud credentials for the cert-manager Operator for Red Hat OpenShift by using the
ccoctl
9.10.1. Configuring cloud credentials for the cert-manager Operator for Red Hat OpenShift for the AWS Security Token Service cluster Link kopierenLink in die Zwischenablage kopiert!
To configure the cloud credentials for the cert-manager Operator for Red Hat OpenShift on the AWS Security Token Service (STS) cluster with the cloud credentials. You must generate the cloud credentials manually, and apply it on the cluster by using the
ccoctl
Prerequisites
-
You have extracted and prepared the binary.
ccoctl - You have configured an OpenShift Container Platform cluster with AWS STS by using the Cloud Credential Operator in manual mode.
Procedure
Create a directory to store a
resource YAML file by running the following command:CredentialsRequest$ mkdir credentials-requestCreate a
resource YAML file under theCredentialsRequestdirectory, such as,credentials-request, by applying the following yaml:sample-credential-request.yamlapiVersion: cloudcredential.openshift.io/v1 kind: CredentialsRequest metadata: name: cert-manager namespace: openshift-cloud-credential-operator spec: providerSpec: apiVersion: cloudcredential.openshift.io/v1 kind: AWSProviderSpec statementEntries: - action: - "route53:GetChange" effect: Allow resource: "arn:aws:route53:::change/*" - action: - "route53:ChangeResourceRecordSets" - "route53:ListResourceRecordSets" effect: Allow resource: "arn:aws:route53:::hostedzone/*" - action: - "route53:ListHostedZonesByName" effect: Allow resource: "*" secretRef: name: aws-creds namespace: cert-manager serviceAccountNames: - cert-managerUse the
tool to processccoctlobjects by running the following command:CredentialsRequest$ ccoctl aws create-iam-roles \ --name <user_defined_name> --region=<aws_region> \ --credentials-requests-dir=<path_to_credrequests_dir> \ --identity-provider-arn <oidc_provider_arn> --output-dir=<path_to_output_dir>Example output
2023/05/15 18:10:34 Role arn:aws:iam::XXXXXXXXXXXX:role/<user_defined_name>-cert-manager-aws-creds created 2023/05/15 18:10:34 Saved credentials configuration to: <path_to_output_dir>/manifests/cert-manager-aws-creds-credentials.yaml 2023/05/15 18:10:35 Updated Role policy for Role <user_defined_name>-cert-manager-aws-credsCopy the
from the output to use in the next step. For example,<aws_role_arn>"arn:aws:iam::XXXXXXXXXXXX:role/<user_defined_name>-cert-manager-aws-creds"Add the
annotation to the service account by running the following command:eks.amazonaws.com/role-arn="<aws_role_arn>"$ oc -n cert-manager annotate serviceaccount cert-manager eks.amazonaws.com/role-arn="<aws_role_arn>"To create a new pod, delete the existing cert-manager controller pod by running the following command:
$ oc delete pods -l app.kubernetes.io/name=cert-manager -n cert-managerThe AWS credentials are applied to a new cert-manager controller pod within a minute.
Verification
Get the name of the updated cert-manager controller pod by running the following command:
$ oc get pods -l app.kubernetes.io/name=cert-manager -n cert-managerExample output
NAME READY STATUS RESTARTS AGE cert-manager-bd7fbb9fc-wvbbt 1/1 Running 0 39sVerify that AWS credentials are updated by running the following command:
$ oc set env -n cert-manager po/<cert_manager_controller_pod_name> --listExample output
# pods/cert-manager-57f9555c54-vbcpg, container cert-manager-controller # POD_NAMESPACE from field path metadata.namespace AWS_ROLE_ARN=XXXXXXXXXXXX AWS_WEB_IDENTITY_TOKEN_FILE=/var/run/secrets/eks.amazonaws.com/serviceaccount/token
9.11. Configuring log levels for cert-manager and the cert-manager Operator for Red Hat OpenShift Link kopierenLink in die Zwischenablage kopiert!
To troubleshoot issues with the cert-manager components and the cert-manager Operator for Red Hat OpenShift, you can configure the log level verbosity.
To use different log levels for different cert-manager components, see Customizing cert-manager Operator API fields.
9.11.1. Setting a log level for cert-manager Link kopierenLink in die Zwischenablage kopiert!
You can set a log level for cert-manager to determine the verbosity of log messages.
Prerequisites
-
You have access to the cluster with privileges.
cluster-admin - You have installed version 1.11.1 or later of the cert-manager Operator for Red Hat OpenShift.
Procedure
Edit the
resource by running the following command:CertManager$ oc edit certmanager.operator clusterSet the log level value by editing the
section:spec.logLevelapiVersion: operator.openshift.io/v1alpha1 kind: CertManager ... spec: logLevel: Normal1 - 1
- The default
logLevelisNormal. ReplaceNormalwith the desired log level value. The valid log level values for theCertManagerresource areNormal,Debug,Trace, andTraceAll. To audit logs and perform common operations when everything is fine, setlogLeveltoNormal. To troubleshoot a minor issue by viewing verbose logs, setlogLeveltoDebug. To troubleshoot a major issue by viewing more verbose logs, you can setlogLeveltoTrace. To troubleshoot serious issues, setlogLeveltoTraceAll.
Notegenerates huge amount of logs. After settingTraceAlltologLevel, you might experience performance issues.TraceAllSave your changes and quit the text editor to apply your changes.
After applying the changes, the verbosity level for the cert-manager components controller, CA injector, and webhook is updated.
9.11.2. Setting a log level for the cert-manager Operator for Red Hat OpenShift Link kopierenLink in die Zwischenablage kopiert!
You can set a log level for the cert-manager Operator for Red Hat OpenShift to determine the verbosity of the operator log messages.
Prerequisites
-
You have access to the cluster with privileges.
cluster-admin - You have installed version 1.11.1 or later of the cert-manager Operator for Red Hat OpenShift.
Procedure
Update the subscription object for cert-manager Operator for Red Hat OpenShift to provide the verbosity level for the operator logs by running the following command:
$ oc -n cert-manager-operator patch subscription openshift-cert-manager-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"OPERATOR_LOG_LEVEL","value":"v"}]}}}'1 - 1
- Replace
vwith the desired log level number. The valid values forvcan range from1`to `10. The default value is2.
Verification
The cert-manager Operator pod is redeployed. Verify that the log level of the cert-manager Operator for Red Hat OpenShift is updated by running the following command:
$ oc set env deploy/cert-manager-operator-controller-manager -n cert-manager-operator --list | grep -e OPERATOR_LOG_LEVEL -e containerExample output
# deployments/cert-manager-operator-controller-manager, container kube-rbac-proxy OPERATOR_LOG_LEVEL=9 # deployments/cert-manager-operator-controller-manager, container cert-manager-operator OPERATOR_LOG_LEVEL=9Verify that the log level of the cert-manager Operator for Red Hat OpenShift is updated by running the
command:oc logs$ oc logs deploy/cert-manager-operator-controller-manager -n cert-manager-operator
9.12. Authenticating the cert-manager Operator for Red Hat OpenShift with GCP Workload Identity Link kopierenLink in die Zwischenablage kopiert!
You can authenticate the cert-manager Operator for Red Hat OpenShift on the GCP Workload Identity cluster by using the cloud credentials. You can configure the cloud credentials by using the
ccoctl
9.12.1. Configuring cloud credentials for the cert-manager Operator for Red Hat OpenShift with Google Cloud Workload Identity Link kopierenLink in die Zwischenablage kopiert!
Generate the cloud credentials for the cert-manager Operator for Red Hat OpenShift by using the
ccoctl
Prerequisites
-
You extracted and prepared the binary.
ccoctl - You have installed version 1.11.1 or later of the cert-manager Operator for Red Hat OpenShift.
- You have configured an OpenShift Container Platform cluster with Google Cloud Workload Identity by using the Cloud Credential Operator in a manual mode.
Procedure
Create a directory to store a
resource YAML file by running the following command:CredentialsRequest$ mkdir credentials-requestIn the
directory, create a YAML file that contains the followingcredentials-requestmanifest:CredentialsRequestapiVersion: cloudcredential.openshift.io/v1 kind: CredentialsRequest metadata: name: cert-manager namespace: openshift-cloud-credential-operator spec: providerSpec: apiVersion: cloudcredential.openshift.io/v1 kind: GCPProviderSpec predefinedRoles: - roles/dns.admin secretRef: name: gcp-credentials namespace: cert-manager serviceAccountNames: - cert-managerNoteThe
role provides admin privileges to the service account for managing Google Cloud DNS resources. To ensure that the cert-manager runs with the service account that has the least privilege, you can create a custom role with the following permissions:dns.admin-
dns.resourceRecordSets.* -
dns.changes.* -
dns.managedZones.list
-
Use the
tool to processccoctlobjects by running the following command:CredentialsRequest$ ccoctl gcp create-service-accounts \ --name <user_defined_name> --output-dir=<path_to_output_dir> \ --credentials-requests-dir=<path_to_credrequests_dir> \ --workload-identity-pool <workload_identity_pool> \ --workload-identity-provider <workload_identity_provider> \ --project <gcp_project_id>Example command
$ ccoctl gcp create-service-accounts \ --name abcde-20230525-4bac2781 --output-dir=/home/outputdir \ --credentials-requests-dir=/home/credentials-requests \ --workload-identity-pool abcde-20230525-4bac2781 \ --workload-identity-provider abcde-20230525-4bac2781 \ --project openshift-gcp-develApply the secrets generated in the manifests directory of your cluster by running the following command:
$ ls <path_to_output_dir>/manifests/*-credentials.yaml | xargs -I{} oc apply -f {}Update the subscription object for cert-manager Operator for Red Hat OpenShift by running the following command:
$ oc -n cert-manager-operator patch subscription openshift-cert-manager-operator --type=merge -p '{"spec":{"config":{"env":[{"name":"CLOUD_CREDENTIALS_SECRET_NAME","value":"gcp-credentials"}]}}}'
Verification
Get the name of the redeployed cert-manager controller pod by running the following command:
$ oc get pods -l app.kubernetes.io/name=cert-manager -n cert-managerExample output
NAME READY STATUS RESTARTS AGE cert-manager-bd7fbb9fc-wvbbt 1/1 Running 0 15m39sVerify that the cert-manager controller pod is updated with Google Cloud workload identity credential volumes that are mounted under the path specified in
by running the following command:mountPath$ oc get -n cert-manager pod/<cert-manager_controller_pod_name> -o yamlExample output
spec: containers: - args: ... volumeMounts: - mountPath: /var/run/secrets/openshift/serviceaccount name: bound-sa-token ... - mountPath: /.config/gcloud name: cloud-credentials ... volumes: - name: bound-sa-token projected: ... sources: - serviceAccountToken: audience: openshift ... path: token - name: cloud-credentials secret: ... items: - key: service_account.json path: application_default_credentials.json secretName: gcp-credentials
9.13. Authenticating the cert-manager Operator for Red Hat OpenShift on AWS Link kopierenLink in die Zwischenablage kopiert!
You can configure the cloud credentials for the cert-manager Operator for Red Hat OpenShift on the AWS cluster. The cloud credentials are generated by the Cloud Credential Operator.
9.13.1. Configuring cloud credentials for the cert-manager Operator for Red Hat OpenShift on AWS Link kopierenLink in die Zwischenablage kopiert!
To configure the cloud credentials for the cert-manager Operator for Red Hat OpenShift on the AWS cluster you must generate the cloud credentials secret by creating a
CredentialsRequest
Prerequisites
- You have installed version 1.11.1 or later of the cert-manager Operator for Red Hat OpenShift.
- You have configured the Cloud Credential Operator to operate in mint or passthrough mode.
Procedure
Create a
resource YAML file, for example,CredentialsRequest, as follows:sample-credential-request.yamlapiVersion: cloudcredential.openshift.io/v1 kind: CredentialsRequest metadata: name: cert-manager namespace: openshift-cloud-credential-operator spec: providerSpec: apiVersion: cloudcredential.openshift.io/v1 kind: AWSProviderSpec statementEntries: - action: - "route53:GetChange" effect: Allow resource: "arn:aws:route53:::change/*" - action: - "route53:ChangeResourceRecordSets" - "route53:ListResourceRecordSets" effect: Allow resource: "arn:aws:route53:::hostedzone/*" - action: - "route53:ListHostedZonesByName" effect: Allow resource: "*" secretRef: name: aws-creds namespace: cert-manager serviceAccountNames: - cert-managerCreate a
resource by running the following command:CredentialsRequest$ oc create -f sample-credential-request.yamlUpdate the subscription object for cert-manager Operator for Red Hat OpenShift by running the following command:
$ oc -n cert-manager-operator patch subscription openshift-cert-manager-operator --type=merge -p '{"spec":{"config":{"env":[{"name":"CLOUD_CREDENTIALS_SECRET_NAME","value":"aws-creds"}]}}}'
Verification
Get the name of the redeployed cert-manager controller pod by running the following command:
$ oc get pods -l app.kubernetes.io/name=cert-manager -n cert-managerExample output
NAME READY STATUS RESTARTS AGE cert-manager-bd7fbb9fc-wvbbt 1/1 Running 0 15m39sVerify that the cert-manager controller pod is updated with AWS credential volumes that are mounted under the path specified in
by running the following command:mountPath$ oc get -n cert-manager pod/<cert-manager_controller_pod_name> -o yamlExample output
... spec: containers: - args: ... - mountPath: /.aws name: cloud-credentials ... volumes: ... - name: cloud-credentials secret: ... secretName: aws-creds
9.14. Authenticating the cert-manager Operator for Red Hat OpenShift on GCP Link kopierenLink in die Zwischenablage kopiert!
You can configure cloud credentials for the cert-manager Operator for Red Hat OpenShift on a GCP cluster. The cloud credentials are generated by the Cloud Credential Operator.
9.14.1. Configuring cloud credentials for the cert-manager Operator for Red Hat OpenShift on Google Cloud Link kopierenLink in die Zwischenablage kopiert!
To configure the cloud credentials for the cert-manager Operator for Red Hat OpenShift on a Google Cloud cluster you must create a
CredentialsRequest
Prerequisites
- You have installed version 1.11.1 or later of the cert-manager Operator for Red Hat OpenShift.
- You have configured the Cloud Credential Operator to operate in mint or passthrough mode.
Procedure
Create a
resource YAML file, such as,CredentialsRequestby applying the following yaml:sample-credential-request.yamlapiVersion: cloudcredential.openshift.io/v1 kind: CredentialsRequest metadata: name: cert-manager namespace: openshift-cloud-credential-operator spec: providerSpec: apiVersion: cloudcredential.openshift.io/v1 kind: GCPProviderSpec predefinedRoles: - roles/dns.admin secretRef: name: gcp-credentials namespace: cert-manager serviceAccountNames: - cert-managerNoteThe
role provides admin privileges to the service account for managing Google Cloud DNS resources. To ensure that the cert-manager runs with the service account that has the least privilege, you can create a custom role with the following permissions:dns.admin-
dns.resourceRecordSets.* -
dns.changes.* -
dns.managedZones.list
-
Create a
resource by running the following command:CredentialsRequest$ oc create -f sample-credential-request.yamlUpdate the subscription object for cert-manager Operator for Red Hat OpenShift by running the following command:
$ oc -n cert-manager-operator patch subscription openshift-cert-manager-operator --type=merge -p '{"spec":{"config":{"env":[{"name":"CLOUD_CREDENTIALS_SECRET_NAME","value":"gcp-credentials"}]}}}'
Verification
Get the name of the redeployed cert-manager controller pod by running the following command:
$ oc get pods -l app.kubernetes.io/name=cert-manager -n cert-managerExample output
NAME READY STATUS RESTARTS AGE cert-manager-bd7fbb9fc-wvbbt 1/1 Running 0 15m39sVerify that the cert-manager controller pod is updated with Google Cloud credential volumes that are mounted under the path specified in
by running the following command:mountPath$ oc get -n cert-manager pod/<cert-manager_controller_pod_name> -o yamlExample output
spec: containers: - args: ... volumeMounts: ... - mountPath: /.config/gcloud name: cloud-credentials .... volumes: ... - name: cloud-credentials secret: ... items: - key: service_account.json path: application_default_credentials.json secretName: gcp-credentials
9.15. Uninstalling the cert-manager Operator for Red Hat OpenShift Link kopierenLink in die Zwischenablage kopiert!
You can remove the cert-manager Operator for Red Hat OpenShift from OpenShift Container Platform by uninstalling the Operator and removing its related resources.
9.15.1. Uninstalling the cert-manager Operator for Red Hat OpenShift Link kopierenLink in die Zwischenablage kopiert!
You can uninstall the cert-manager Operator for Red Hat OpenShift by using the web console.
Prerequisites
-
You have access to the cluster with privileges.
cluster-admin - You have access to the OpenShift Container Platform web console.
- The cert-manager Operator for Red Hat OpenShift is installed.
Procedure
- Log in to the OpenShift Container Platform web console.
Uninstall the cert-manager Operator for Red Hat OpenShift Operator.
-
Navigate to Operators
Installed Operators. -
Click the Options menu
next to the cert-manager Operator for Red Hat OpenShift entry and click Uninstall Operator.
- In the confirmation dialog, click Uninstall.
-
Navigate to Operators
9.15.2. Removing cert-manager Operator for Red Hat OpenShift resources Link kopierenLink in die Zwischenablage kopiert!
Once you have uninstalled the cert-manager Operator for Red Hat OpenShift, you have the option to eliminate its associated resources from your cluster.
Prerequisites
-
You have access to the cluster with privileges.
cluster-admin - You have access to the OpenShift Container Platform web console.
Procedure
- Log in to the OpenShift Container Platform web console.
Remove the deployments of the cert-manager components, such as
,cert-manager, andcainjector, present in thewebhooknamespace.cert-manager- Click the Project drop-down menu to see a list of all available projects, and select the cert-manager project.
-
Navigate to Workloads
Deployments. - Select the deployment that you want to delete.
- Click the Actions drop-down menu, and select Delete Deployment to see a confirmation dialog box.
- Click Delete to delete the deployment.
Alternatively, delete deployments of the cert-manager components such as
,cert-managerandcainjectorpresent in thewebhooknamespace by using the command-line interface (CLI).cert-manager$ oc delete deployment -n cert-manager -l app.kubernetes.io/instance=cert-manager
Optional: Remove the custom resource definitions (CRDs) that were installed by the cert-manager Operator for Red Hat OpenShift:
Remove the finalizers from the
custom resource (CR) by running the following command:CertManager$ oc patch certmanagers.operator cluster --type=merge -p='{"metadata":{"finalizers":null}}'-
Navigate to Administration
CustomResourceDefinitions. -
Enter in the Name field to filter the CRDs.
certmanager Click the Options menu
next to each of the following CRDs, and select Delete Custom Resource Definition:
-
Certificate -
CertificateRequest -
(
CertManager)operator.openshift.io -
Challenge -
ClusterIssuer -
Issuer -
Order
-
Optional: Remove the
namespace.cert-manager-operator-
Navigate to Administration
Namespaces. -
Click the Options menu
next to the cert-manager-operator and select Delete Namespace.
-
In the confirmation dialog, enter in the field and click Delete.
cert-manager-operator
-
Navigate to Administration