9.8. 使用签发者配置证书


通过将 cert-manager Operator 用于 Red Hat OpenShift,您可以为集群中的工作负载管理证书、处理续订和颁发等任务,以及与集群外部交互的组件。

9.8.1. 为用户工作负载创建证书

先决条件

  • 您可以使用 cluster-admin 权限访问集群。
  • 您已为 Red Hat OpenShift 安装了 cert-manager Operator。

流程

  1. 创建签发者。如需更多信息,请参阅"添加资源"部分中的"配置签发者"。
  2. 创建证书:

    1. 创建一个 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
      Copy to Clipboard Toggle word wrap

      1
      为证书提供名称。
      2
      指定签发者的命名空间。
      3
      指定通用名称 (CN)。
      4
      指定要创建包含证书的 secret 名称。
      5
      指定域名。
      6
      指定签发者的名称。
    2. 运行以下命令来创建 Certificate 对象:

      $ oc create -f certificate.yaml
      Copy to Clipboard Toggle word wrap

验证

  • 运行以下命令验证证书是否已创建并就绪:

    $ oc get certificate -w -n <issuer_namespace>
    Copy to Clipboard Toggle word wrap

    证书处于 Ready 状态后,集群中的工作负载就可以使用生成的证书 secret 开始。

9.8.2. 为 API 服务器创建证书

先决条件

  • 您可以使用 cluster-admin 权限访问集群。
  • 您已为 Red Hat OpenShift 安装了 cert-manager Operator 版本 1.13.0 或更高版本。

流程

  1. 创建签发者。如需更多信息,请参阅"添加资源"部分中的"配置签发者"。
  2. 创建证书:

    1. 创建一个 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
      Copy to Clipboard Toggle word wrap

      1
      为证书提供名称。
      2
      指定通用名称 (CN)。
      3
      指定要创建包含证书的 secret 名称。
      4
      指定 API 服务器的 DNS 名称。
      5
      指定签发者的名称。
    2. 运行以下命令来创建 Certificate 对象:

      $ oc create -f certificate.yaml
      Copy to Clipboard Toggle word wrap
  3. 添加名为 certificate 的 API 服务器。如需更多信息,请参阅"添加资源"部分中的"添加名为 certificate 的 API 服务器"部分。
注意

要确保证书已更新,请在创建证书后再次运行 oc login 命令。

验证

  • 运行以下命令验证证书是否已创建并就绪:

    $ oc get certificate -w -n openshift-config
    Copy to Clipboard Toggle word wrap

    证书处于 Ready 状态后,集群中的 API 服务器就可以使用生成的证书 secret 开始。

9.8.3. 为 Ingress Controller 创建证书

先决条件

  • 您可以使用 cluster-admin 权限访问集群。
  • 您已为 Red Hat OpenShift 安装了 cert-manager Operator 版本 1.13.0 或更高版本。

流程

  1. 创建签发者。如需更多信息,请参阅"添加资源"部分中的"配置签发者"。
  2. 创建证书:

    1. 创建一个 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
      Copy to Clipboard Toggle word wrap

      1
      为证书提供名称。
      2
      指定通用名称 (CN)。
      3
      指定要创建包含证书的 secret 名称。
      4 5
      指定入口的 DNS 名称。
      6
      指定签发者的名称。
    2. 运行以下命令来创建 Certificate 对象:

      $ oc create -f certificate.yaml
      Copy to Clipboard Toggle word wrap
  3. 替换默认入口证书。如需更多信息,请参阅"添加资源"部分中的"替换默认入口证书"部分。

验证

  • 运行以下命令验证证书是否已创建并就绪:

    $ oc get certificate -w -n openshift-ingress
    Copy to Clipboard Toggle word wrap

    证书处于 Ready 状态后,集群中的 Ingress Controller 就可以使用生成的证书 secret 开始。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat