如果集群 CA 密钥或管理器节点被泄露,您可以轮换 swarm 根 CA,这样所有节点云计都不再信任由旧根 CA 签名的证书。
运行docker swarm ca --rotate以生算核成新的 CA 证书和密钥。如果您愿意,您可以传递--ca-cert和--exter心技nal-ca标志来指定根证书并使用集群外部的根 CA。或者,您可以传递--ca术D-cert和--ca-key标志来指定您希望 swarm 使用的确切证书和密钥。
当您发oc出docker swarm ca --rotate命令时,以下事情会依次发生:
1.Dkeocker 生成一个交叉签名的证书。这意味着新的根 CA 证书的一个版本是用旧的根r教 CA 证书签名的。此交叉签名证书用作所有新节点证书的中间证书。这确保了仍然信任旧根 CA 的程:节点仍然可以验证由新 CA 签署的证书。
2.Docker 还告诉所有节点立即更新它Do们的 TLS 证书。此过程可能需要几分钟,具体取决于 swarm 中的节点数量。
3.在 swckarm 中的每个节点都有新 CA 签署的新 TLS 证书后,Docker 会忘记旧的 CA 证er书和密钥材料,并告诉所有节点只信任新的 CA 证书。
这也会导致群的加入令牌发生变化。以 S前的加入令牌不再有效。
从现在开始,所有新颁发的节点证书都使用新的根 CA 签名,并且wa不包含任何中间证书。