Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

12.3.2. 重新部署新的或自定义 OpenShift Container Platform CA

openshift-master/redeploy-openshift-ca.yml playbook 通过生成新的 CA 证书并将更新的捆绑包分发到所有组件,包括客户端 kubeconfig 文件和可信 CA( CA-trust) 的节点数据库 (CA-trust)。

这还包括以下串行重启:

  • 主服务
  • 节点服务
  • docker

另外,您可以在重新部署证书时 指定自定义 CA 证书,而不依赖于 OpenShift Container Platform 生成的 CA。

当主服务重启时,registry 和路由器可以继续与 master 通信,而没有重新部署,因为主设备的 serving 证书相同,并且注册表和路由器仍然有效。

要重新部署新生成的或自定义 CA:

  1. 如果要使用自定义 CA,请在清单文件中设置以下变量。要使用当前的 CA,请跳过这一步。

    # Configure custom ca certificate
    # NOTE: CA certificate will not be replaced with existing clusters.
    # This option may only be specified when creating a new cluster or
    # when redeploying cluster certificates with the redeploy-certificates
    # playbook.
    openshift_master_ca_certificate={'certfile': '</path/to/ca.crt>', 'keyfile': '</path/to/ca.key>'}

    如果 CA 证书由中间 CA 发布,则捆绑的证书必须包含 CA 的完整链(中间和 root 证书)来验证子证书。

    例如:

    $ cat intermediate/certs/intermediate.cert.pem \
          certs/ca.cert.pem >> intermediate/certs/ca-chain.cert.pem
  2. 进入 playbook 目录并运行 openshift-master/redeploy-openshift-ca.yml playbook,指定您的清单文件:

    $ cd /usr/share/ansible/openshift-ansible
    $ ansible-playbook -i <inventory_file> \
        playbooks/openshift-master/redeploy-openshift-ca.yml

    新的 OpenShift Container Platform CA 已就位,每当您想要在所有组件上重新部署由新 CA 签名的证书时,请使用 redeploy-certificates.yml playbook

    重要

    在新的 OpenShift Container Platform CA 之后使用 redeploy-certificates.yml playbook 时,您必须在 playbook 命令中添加 -e openshift_redeploy_openshift_ca=true