docker swarm ca
docker swarm ca
描述
管理根CA
使用
docker swarm ca [OPTIONS]
备选方案
名字,简写 | 默认 | 描述 |
---|---|---|
--ca-cert | | 用于新集群的PEM格式的根CA证书的路径 |
--ca-key | | 用于新集群的PEM格式化根CA密钥的路径 |
--cert-expiry | 2160h0m0s | 节点证书的有效期(ns | us | ms | s | m | h) |
--detach, -d | 假 | 立即退出,而不是等待根旋转收敛 |
--external-ca | | 一个或多个证书签名端点的规格 |
--quiet, -q | 假 | 抑制进度输出 |
--rotate | 假 | 旋转丛集CA - 如果未提供证书或密钥,则会生成新的证书或密钥 |
父命令
命令 | 描述 |
---|---|
docker swarm | 管理群 |
相关命令
命令 | 描述 |
---|---|
docker 群 | 管理根CA |
docker 群初始化 | 初始化一个群 |
docker 群加入 | 加入群体作为节点和/或经理 |
docker 群联合令牌 | 管理联合令牌 |
docker 群离开 | 离开群 |
docker 群解锁 | 解锁群 |
docker 群解锁键 | 管理解锁密钥 |
docker 群更新 | 更新群体 |
扩展描述
查看或旋转当前群集CA证书。此命令必须针对管理器节点。
实例
运行docker swarm ca
命令,没有任何选项可以查看PEM格式的当前根CA证书。
$ docker swarm ca
-----BEGIN CERTIFICATE-----
MIIBazCCARCgAwIBAgIUJPzo67QC7g8Ebg2ansjkZ8CbmaswCgYIKoZIzj0EAwIw
EzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMTcwNTAzMTcxMDAwWhcNMzcwNDI4MTcx
MDAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH
A0IABKL6/C0sihYEb935wVPRA8MqzPLn3jzou0OJRXHsCLcVExigrMdgmLCC+Va4
+sJ+SLVO1eQbvLHH8uuDdF/QOU6jQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB
Af8EBTADAQH/MB0GA1UdDgQWBBSfUy5bjUnBAx/B0GkOBKp91XvxzjAKBggqhkjO
PQQDAgNJADBGAiEAnbvh0puOS5R/qvy1PMHY1iksYKh2acsGLtL/jAIvO4ACIQCi
lIwQqLkJ48SQqCjG1DBTSBsHmMSRT+6mE2My+Z3GKA==
-----END CERTIFICATE-----
传递该--rotate
标志(以及可选的a --ca-cert
,连同一个--ca-key
或--external-ca
参数标志),以便旋转当前群根CA.
$ docker swarm ca --rotate
desired root digest: sha256:05da740cf2577a25224c53019e2cce99bcc5ba09664ad6bb2a9425d9ebd1b53e
rotated TLS certificates: [=========================> ] 1/2 nodes
rotated CA certificates: [> ] 0/2 nodes
一旦旋转os完成(所有进度条完成),将打印当前的CA证书:
$ docker swarm ca --rotate
desired root digest: sha256:05da740cf2577a25224c53019e2cce99bcc5ba09664ad6bb2a9425d9ebd1b53e
rotated TLS certificates: [==================================================>] 2/2 nodes
rotated CA certificates: [==================================================>] 2/2 nodes
-----BEGIN CERTIFICATE-----
MIIBazCCARCgAwIBAgIUFynG04h5Rrl4lKyA4/E65tYKg8IwCgYIKoZIzj0EAwIw
EzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMTcwNTE2MDAxMDAwWhcNMzcwNTExMDAx
MDAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH
A0IABC2DuNrIETP7C7lfiEPk39tWaaU0I2RumUP4fX4+3m+87j0DU0CsemUaaOG6
+PxHhGu2VXQ4c9pctPHgf7vWeVajQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB
Af8EBTADAQH/MB0GA1UdDgQWBBSEL02z6mCI3SmMDmITMr12qCRY2jAKBggqhkjO
PQQDAgNJADBGAiEA263Eb52+825EeNQZM0AME+aoH1319Zp9/J5ijILW+6ACIQCg
gyg5u9Iliel99l7SuMhNeLkrU7fXs+Of1nTyyM73ig==
-----END CERTIFICATE-----
--rotate
如果一个或多个群集管理器已被破坏,则建议使用根CA旋转,以便这些管理器无法再连接到群集中的任何其他节点或受其信任。
或者,可以使用根CA旋转来将群集CA控制权授予外部CA,或从外部CA获取控制权。
--rotate
标志不需要任何参数进行轮换,但您可以选择指定证书和密钥,或者证书和外部CA URL,并且将使用这些参数代替自动生成的证书/密钥对。
由于根CA密钥应该保密,如果提供,通过CLI或API查看群集任何信息时都不可见。
直到所有注册节点都旋转了他们的TLS证书后,根CA轮换才能完成。如果旋转没有在合理的时间内完成,请尝试运行docker node ls --format {{.ID}} {{.Hostname}} {{.Status}} {{.TLSStatus}}
以查看是否有节点关闭或无法旋转TLS证书。
--detach
启动根CA旋转,但不要等待旋转的完成或显示旋转的进度。