首页 > 解决方案 > 为多个 Kubernetes 节点生成单个证书

问题描述

问题出在这里:我有一个包含多个节点的 Kubernetes 集群,我想挂载一个包含所有节点的密钥、crt、密钥库数据的密钥。

我为单个节点生成它们的过程如下:

  1. 生成绑定到 dns=hostname 和 ip=host_ip 的密钥库
  2. 提取 csr
  3. 提交 csr 到我的内部 CA 并下载 p7b 证书链
  4. 将证书链导入密钥库
  5. 将密钥库导出为 PKCS12 格式
  6. 提取crt
  7. 提取密钥

假设我已经为所有节点完成了这些步骤。我该怎么做才能将所有这些捆绑到一组密钥和密钥库文件中?我可以将我在步骤 2 中获得的所有证书请求合并到一个 csr 中并为此下载 p7b 并继续执行吗?

标签: sslkubernetesssl-certificatekeystore

解决方案


对于任何寻求解决方案的人,我设法通过生成具有多个 dns/ip 条目的密钥库来为所有主机名生成一个证书。

例子:

keytool -genkey -keyalg RSA -alias <your_alias> -keystore <your_keystore_name>.jks -storetype JKS -keysize 2048 -validity 365 -ext SAN=dns:<hostname1>,ip:<ip1>,dns:<hostname2>,ip:<ip2>

您还可以使用 KeyStore Explorer 生成相同的内容(通过 GUI),它还支持通配符,例如 *.domain.com


推荐阅读