9.5. 使用签发者配置证书
通过将 cert-manager Operator 用于 Red Hat OpenShift,您可以为集群中的工作负载管理证书、处理续订和颁发等任务,以及与集群外部交互的组件。
9.5.1. 为用户工作负载创建证书 复制链接链接已复制到粘贴板!
先决条件
-
您可以使用
cluster-admin权限访问集群。 - 您已为 Red Hat OpenShift 安装了 cert-manager Operator。
流程
- 创建签发者。如需更多信息,请参阅"添加资源"部分中的"配置签发者"。
创建证书:
创建一个 YAML 文件,如
certificate.yaml,用于定义Certificate对象:certificate.yaml文件示例apiVersion: 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: Issuer运行以下命令来创建
Certificate对象:$ oc create -f certificate.yaml
验证
运行以下命令验证证书是否已创建并就绪:
$ oc get certificate -w -n <issuer_namespace>证书处于
Ready状态后,集群中的工作负载就可以使用生成的证书 secret 开始。
9.5.2. 为 API 服务器创建证书 复制链接链接已复制到粘贴板!
先决条件
-
您可以使用
cluster-admin权限访问集群。 - 您已为 Red Hat OpenShift 安装了 cert-manager Operator 版本 1.13.0 或更高版本。
流程
- 创建签发者。如需更多信息,请参阅"添加资源"部分中的"配置签发者"。
创建证书:
创建一个 YAML 文件,如
certificate.yaml,用于定义Certificate对象:certificate.yaml文件示例apiVersion: 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: Issuer运行以下命令来创建
Certificate对象:$ oc create -f certificate.yaml
- 添加名为 certificate 的 API 服务器。如需更多信息,请参阅"添加资源"部分中的"添加名为 certificate 的 API 服务器"部分。
要确保证书已更新,请在创建证书后再次运行 oc login 命令。
验证
运行以下命令验证证书是否已创建并就绪:
$ oc get certificate -w -n openshift-config证书处于
Ready状态后,集群中的 API 服务器就可以使用生成的证书 secret 开始。
9.5.3. 为 Ingress Controller 创建证书 复制链接链接已复制到粘贴板!
先决条件
-
您可以使用
cluster-admin权限访问集群。 - 您已为 Red Hat OpenShift 安装了 cert-manager Operator 版本 1.13.0 或更高版本。
流程
- 创建签发者。如需更多信息,请参阅"添加资源"部分中的"配置签发者"。
创建证书:
创建一个 YAML 文件,如
certificate.yaml,用于定义Certificate对象:certificate.yaml文件示例apiVersion: 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: Issuer运行以下命令来创建
Certificate对象:$ oc create -f certificate.yaml
- 替换默认入口证书。如需更多信息,请参阅"添加资源"部分中的"替换默认入口证书"部分。
验证
运行以下命令验证证书是否已创建并就绪:
$ oc get certificate -w -n openshift-ingress证书处于
Ready状态后,集群中的 Ingress Controller 就可以使用生成的证书 secret 开始。