Docker Swarm CA
說明 | 顯示和輪替根 CA |
---|---|
用法 | docker swarm ca [選項] |
Swarm 此指令適用於 Swarm Orchestrator。
說明
檢視或輪替目前的 Swarm CA 憑證。
注意
這是一個叢集管理指令,必須在 Swarm 管理節點上執行。若要瞭解管理員和工作者,請參閱文件中Swarm 模式章節。
選項
選項 | 預設值 | 說明 |
---|---|---|
--ca-cert | 新叢集要使用的 PEM 格式根 CA 憑證路徑 | |
--ca-key | 新叢集要使用的 PEM 格式根 CA 金鑰路徑 | |
--cert-expiry | 2160h0m0s | 節點憑證的有效期限 (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 憑證。
以分離模式 (--detach) 執行根 CA 輪替
啟動根 CA 輪替,但不等待輪替完成或顯示輪替進度。