使用自定义证书和密钥轮换 Swarm CA
在这一步中,你将学习如何使用自定义证书和密钥来轮换 Swarm CA。如果你想使用自己的 CA 基础设施,或者将 Swarm 与现有的 PKI(公钥基础设施)集成,这将非常有用。
要使用自定义证书和密钥轮换 Swarm CA,你需要在 docker swarm ca --rotate
命令中使用 --cert
和 --key
标志,提供自定义 CA 证书和密钥文件的路径。
首先,为了演示目的,我们来创建虚拟的证书和密钥文件。在实际场景中,你会使用实际的 CA 证书和密钥。
确保你位于主目录 ~/project
中。
pwd
你应该会看到 /home/labex/project
。
现在,让我们创建虚拟的证书和密钥文件。我们将使用 openssl
来生成自签名证书和私钥。
openssl req -x509 -nodes -newkey rsa:2048 -keyout ~/project/custom_ca.key -out ~/project/custom_ca.crt -days 365 -subj "/CN=custom-swarm-ca"
此命令会生成一个私钥 (custom_ca.key
) 和一个自签名证书 (custom_ca.crt
),有效期为 365 天,通用名称为 "custom-swarm-ca"。
现在我们有了自定义证书和密钥,就可以使用这些文件来轮换 Swarm CA 了。
sudo docker swarm ca --rotate --cert ~/project/custom_ca.crt --key ~/project/custom_ca.key
你会看到表明正在使用自定义证书和密钥轮换 CA 的输出。输出将类似于以下内容:
Swarm CA rotated.
轮换完成后,Swarm 将开始使用你的自定义 CA 证书。Swarm 中的节点将自动更新其证书,以由你的自定义 CA 进行签名。
要验证 CA 是否已使用你的自定义证书进行轮换,你可以再次查看 Swarm CA 证书:
sudo docker swarm ca --cert-dir /var/lib/docker/swarm/certificates
检查输出。Issuer
字段现在应该显示你的自定义 CA 的通用名称,即 "CN=custom-swarm-ca"。