Faire tourner le CA du Swarm avec un certificat et une clé personnalisés
Dans cette étape, nous apprendrons à faire tourner le CA du Swarm en utilisant un certificat et une clé personnalisés. Cela est utile si vous souhaitez utiliser votre propre infrastructure d'Autorité de Certification (CA) ou intégrer le Swarm à une infrastructure de clé publique (PKI - Public Key Infrastructure) existante.
Pour faire tourner le CA du Swarm avec un certificat et une clé personnalisés, vous devez fournir les chemins vers votre certificat et votre clé CA personnalisés en utilisant les options --cert
et --key
avec la commande docker swarm ca --rotate
.
Tout d'abord, créons des fichiers de certificat et de clé factices à des fins de démonstration. Dans un scénario réel, vous utiliseriez votre certificat et votre clé CA réels.
Assurez - vous que vous êtes dans votre répertoire personnel ~/project
.
pwd
Vous devriez voir /home/labex/project
.
Maintenant, créons les fichiers de certificat et de clé factices. Nous utiliserons openssl
pour générer un certificat auto - signé et une clé privée.
openssl req -x509 -nodes -newkey rsa:2048 -keyout ~/project/custom_ca.key -out ~/project/custom_ca.crt -days 365 -subj "/CN=custom-swarm-ca"
Cette commande génère une clé privée (custom_ca.key
) et un certificat auto - signé (custom_ca.crt
) valide pour 365 jours avec le nom commun "custom - swarm - ca".
Maintenant que nous avons notre certificat et notre clé personnalisés, nous pouvons faire tourner le CA du Swarm en utilisant ces fichiers.
sudo docker swarm ca --rotate --cert ~/project/custom_ca.crt --key ~/project/custom_ca.key
Vous verrez une sortie indiquant que le CA est en cours de rotation avec le certificat et la clé personnalisés. La sortie sera similaire à ceci :
Swarm CA rotated.
Une fois la rotation terminée, le Swarm commencera à utiliser votre certificat CA personnalisé. Les nœuds du Swarm mettront automatiquement à jour leurs certificats pour qu'ils soient signés par votre CA personnalisé.
Pour vérifier que le CA a été tourné avec votre certificat personnalisé, vous pouvez afficher à nouveau le certificat CA du Swarm :
sudo docker swarm ca --cert-dir /var/lib/docker/swarm/certificates
Examinez la sortie. Le champ Issuer
devrait maintenant afficher le nom commun de votre CA personnalisé, qui est "CN=custom - swarm - ca".