Rotieren der Swarm CA mit einem benutzerdefinierten Zertifikat und Schlüssel
In diesem Schritt lernen wir, wie man die Swarm CA mit einem benutzerdefinierten Zertifikat und Schlüssel rotiert. Dies ist nützlich, wenn Sie Ihre eigene CA-Infrastruktur verwenden möchten oder den Swarm in eine bestehende PKI (Public Key Infrastructure) integrieren möchten.
Um die Swarm CA mit einem benutzerdefinierten Zertifikat und Schlüssel zu rotieren, müssen Sie die Pfade zu Ihren benutzerdefinierten CA-Zertifikat- und Schlüsseldateien mit den Optionen --cert
und --key
beim Befehl docker swarm ca --rotate
angeben.
Zunächst erstellen wir aus Demonstrationszwecken dummy-Zertifikat- und Schlüsseldateien. In der Realität würden Sie Ihre tatsächlichen CA-Zertifikate und -Schlüssel verwenden.
Stellen Sie sicher, dass Sie sich in Ihrem Home-Verzeichnis ~/project
befinden.
pwd
Sie sollten /home/labex/project
sehen.
Jetzt erstellen wir die dummy-Zertifikat- und Schlüsseldateien. Wir verwenden openssl
, um ein selbstsigniertes Zertifikat und einen privaten Schlüssel zu generieren.
openssl req -x509 -nodes -newkey rsa:2048 -keyout ~/project/custom_ca.key -out ~/project/custom_ca.crt -days 365 -subj "/CN=custom-swarm-ca"
Dieser Befehl generiert einen privaten Schlüssel (custom_ca.key
) und ein selbstsigniertes Zertifikat (custom_ca.crt
), das 365 Tage lang gültig ist und den Common Name "custom-swarm-ca" hat.
Jetzt, da wir unser benutzerdefiniertes Zertifikat und unseren Schlüssel haben, können wir die Swarm CA mit diesen Dateien rotieren.
sudo docker swarm ca --rotate --cert ~/project/custom_ca.crt --key ~/project/custom_ca.key
Sie werden eine Ausgabe sehen, die anzeigt, dass die CA mit dem benutzerdefinierten Zertifikat und Schlüssel rotiert wird. Die Ausgabe wird in etwa so aussehen:
Swarm CA rotated.
Nach Abschluss der Rotation beginnt der Swarm, Ihr benutzerdefiniertes CA-Zertifikat zu verwenden. Die Knoten im Swarm werden ihre Zertifikate automatisch aktualisieren, um von Ihrer benutzerdefinierten CA signiert zu werden.
Um zu überprüfen, ob die CA mit Ihrem benutzerdefinierten Zertifikat rotiert wurde, können Sie das Swarm-CA-Zertifikat erneut anzeigen:
sudo docker swarm ca --cert-dir /var/lib/docker/swarm/certificates
Untersuchen Sie die Ausgabe. Das Feld Issuer
sollte jetzt den Common Name Ihrer benutzerdefinierten CA anzeigen, der "CN=custom-swarm-ca" ist.