docker swarm ca

描述顯示和輪換根 CA
用法docker swarm ca [OPTIONS]

Swarm 此命令適用於 Swarm 編排器。

描述

檢視或輪換當前 swarm CA 證書。

注意

這是一個叢集管理命令,必須在 Swarm 管理器節點上執行。要了解管理器和工作器,請參閱文件中的Swarm 模式部分

選項

選項預設值描述
--ca-cert用於新叢集的 PEM 格式根 CA 證書路徑
--ca-key用於新叢集的 PEM 格式根 CA 金鑰路徑
--cert-expiry2160h0m0s節點證書有效期(ns|us|ms|s|m|h)
-d, --detach立即退出,而不是等待根輪換收斂
--external-ca一個或多個證書籤名端點的規範
-q, --quiet禁止進度輸出
--rotate輪換 swarm 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` 標誌(以及可選的 `--ca-cert` 和 `--ca-key` 或 `--external-ca` 引數標誌),以輪換當前的 swarm 根 CA。

$ docker swarm ca --rotate
desired root digest: sha256:05da740cf2577a25224c53019e2cce99bcc5ba09664ad6bb2a9425d9ebd1b53e
  rotated TLS certificates:  [=========================>                         ] 1/2 nodes
  rotated CA certificates:   [>                                                  ] 0/2 nodes

輪換完成後(所有進度條都已完成),將列印現在當前的 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-----

根 CA 輪換 (--rotate)

注意

Mirantis Kubernetes Engine (MKE),以前稱為 Docker UCP,為 swarm 提供外部證書管理器服務。如果您在 MKE 上執行 swarm,則不應手動輪換 CA 證書。如果需要輪換證書,請聯絡 Mirantis 支援。

如果一個或多個 swarm 管理器遭到入侵,建議進行根 CA 輪換,以便這些管理器無法再連線到叢集中的任何其他節點或被其信任。

或者,根 CA 輪換可用於將 swarm CA 的控制權交給外部 CA,或從外部 CA 收回控制權。

`--rotate` 標誌不需要任何引數即可進行輪換,但您可以選擇指定證書和金鑰,或證書和外部 CA URL,它們將用於替代自動生成的證書/金鑰對。

由於根 CA 金鑰應保密,如果提供,透過 CLI 或 API 檢視 swarm 任何資訊時將不可見。

在所有註冊節點輪換其 TLS 證書之前,根 CA 輪換不會完成。如果輪換在合理的時間內未完成,請嘗試執行 `docker node ls --format '{{.ID}} {{.Hostname}} {{.Status}} {{.TLSStatus}}'` 以檢視是否有任何節點宕機或無法輪換 TLS 證書。

以分離模式執行根 CA 輪換 (--detach)

啟動根 CA 輪換,但不等待輪換完成或顯示輪換進度。