You are viewing documentation for a release that is no longer maintained. To view the documentation for the most recent version, see the latest RHACS docs.
第 1 章 添加自定义证书
了解如何将自定义 TLS 证书与 Red Hat Advanced Cluster Security for Kubernetes 搭配使用。设置证书后,用户和 API 客户端在连接到 Central 时无需绕过证书安全警告。
1.1. 添加自定义安全证书 复制链接链接已复制到粘贴板!
您可以在安装过程中或现有 Red Hat Advanced Cluster Security for Kubernetes 部署应用安全证书。
1.1.1. 添加自定义证书的先决条件 复制链接链接已复制到粘贴板!
先决条件
- 您必须已经有 PEM 编码的私钥和证书文件。
证书文件应当以可读的块开头和结尾。例如:
-----BEGIN CERTIFICATE----- MIICLDCCAdKgAwIBAgIBADAKBggqhkjOPQQDAjB9MQswCQYDVQQGEwJCRTEPMA0G ... l4wOuDwKQa+upc8GftXE2C//4mKANBC6It01gUaTIpo= -----END CERTIFICATE-----
-----BEGIN CERTIFICATE----- MIICLDCCAdKgAwIBAgIBADAKBggqhkjOPQQDAjB9MQswCQYDVQQGEwJCRTEPMA0G ... l4wOuDwKQa+upc8GftXE2C//4mKANBC6It01gUaTIpo= -----END CERTIFICATE-----
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 证书文件可以包含单一(leaf)证书,也可以是证书链。
警告- 如果证书不直接由可信 root 签名,则必须提供完整的证书链,包括任何中间证书。
- 链中的所有证书都必须按顺序排列,因此 leaf certificate 是第一个证书,root 证书是链中的最后一个。
- 如果您使用不全局信任的自定义证书,还必须将 Sensor 配置为信任您的自定义证书。
1.1.2. 在新安装过程中添加自定义证书 复制链接链接已复制到粘贴板!
流程
如果要使用 Helm 安装 Red Hat Advanced Cluster Security for Kubernetes:
在
values-private.yaml
文件中添加自定义证书及其密钥:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在安装过程中提供配置文件:
helm install -n stackrox --create-namespace stackrox-central-services rhacs/central-services -f values-private.yaml
$ helm install -n stackrox --create-namespace stackrox-central-services rhacs/central-services -f values-private.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果您要使用
roxctl
CLI 安装 Red Hat Advanced Cluster Security for Kubernetes,请在运行安装程序时提供证书和密钥文件:对于非互动安装程序,使用
--default-tls-cert
和--default-tls-key
选项:roxctl central generate --default-tls-cert "cert.pem" --default-tls-key "key.pem"
$ roxctl central generate --default-tls-cert "cert.pem" --default-tls-key "key.pem"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于交互式安装程序,在输入提示答案时提供证书和密钥文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.1.3. 为现有实例添加自定义证书 复制链接链接已复制到粘贴板!
流程
如果使用 Helm 安装 Red Hat Advanced Cluster Security for Kubernetes:
在
values-private.yaml
文件中添加自定义证书及其密钥:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
helm upgrade
命令并提供更新的配置文件:helm upgrade -n stackrox --create-namespace stackrox-central-services rhacs/central-services -f values-private.yaml
$ helm upgrade -n stackrox --create-namespace stackrox-central-services rhacs/central-services -f values-private.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果使用
roxctl
CLI 安装了 Red Hat Advanced Cluster Security for Kubernetes:从 PEM 编码的密钥和证书文件创建并应用 TLS secret:
oc -n stackrox create secret tls central-default-tls-cert \ --cert <server_cert.pem> \ --key <server_key.pem> \ --dry-run -o yaml | oc apply -f -
$ oc -n stackrox create secret tls central-default-tls-cert \ --cert <server_cert.pem> \ --key <server_key.pem> \ --dry-run -o yaml | oc apply -f -
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行此命令后,Central 会自动应用新的密钥和证书,而无需重启 pod。传播更改最多可能需要一分钟。
1.1.4. 为现有实例更新自定义证书 复制链接链接已复制到粘贴板!
如果您将自定义证书用于 Central,您可以执行以下步骤来更新证书。
流程
删除现有的自定义证书的 secret:
oc delete secret central-default-tls-cert
$ oc delete secret central-default-tls-cert
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建新 secret:
oc -n stackrox create secret tls central-default-tls-cert \ --cert <server_cert.pem> \ --key <server_key.pem> \ --dry-run -o yaml | oc apply -f -
$ oc -n stackrox create secret tls central-default-tls-cert \ --cert <server_cert.pem> \ --key <server_key.pem> \ --dry-run -o yaml | oc apply -f -
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 重启 Central 容器。
1.1.4.1. 重启 Central 容器 复制链接链接已复制到粘贴板!
您可以通过终止 Central 容器或删除 Central pod 重启 Central 容器。
流程
运行以下命令以终止 Central 容器:
注意您必须等待至少 1 分钟,直到 OpenShift Container Platform 传播您的更改并重启 Central 容器。
oc -n stackrox exec deploy/central -c central -- kill 1
$ oc -n stackrox exec deploy/central -c central -- kill 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,运行以下命令来删除 Central pod:
oc -n stackrox delete pod -lapp=central
$ oc -n stackrox delete pod -lapp=central
Copy to Clipboard Copied! Toggle word wrap Toggle overflow