カスタム証明書とキーで Swarm CA をローテーションする
このステップでは、カスタム証明書とキーを使用して Swarm CA をローテーションする方法を学びます。独自の CA インフラストラクチャを使用したい場合や、既存の PKI (公開鍵インフラストラクチャ,Public Key Infrastructure) と Swarm を統合する場合に便利です。
カスタム証明書とキーで 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"
このコマンドは、共通名 (Common Name) が "custom-swarm-ca" で 365 日間有効な秘密鍵 (custom_ca.key
) と自己署名証明書 (custom_ca.crt
) を生成します。
カスタム証明書とキーが用意できたので、これらのファイルを使用して 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" が表示されるはずです。