Rotar la CA de Swarm con un certificado y una clave personalizados
En este paso, aprenderemos cómo rotar la CA de Swarm utilizando un certificado y una clave personalizados. Esto es útil si desea utilizar su propia infraestructura de CA o integrar Swarm con una infraestructura PKI (Infraestructura de Clave Pública) existente.
Para rotar la CA de Swarm con un certificado y una clave personalizados, debe proporcionar las rutas a sus archivos de certificado y clave de CA personalizados utilizando las banderas --cert
y --key
con el comando docker swarm ca --rotate
.
Primero, creemos archivos de certificado y clave ficticios con fines demostrativos. En un escenario del mundo real, utilizaría su certificado y clave de CA reales.
Asegúrese de estar en su directorio de inicio ~/project
.
pwd
Debería ver /home/labex/project
.
Ahora, creemos los archivos de certificado y clave ficticios. Utilizaremos openssl
para generar un certificado autofirmado y una clave privada.
openssl req -x509 -nodes -newkey rsa:2048 -keyout ~/project/custom_ca.key -out ~/project/custom_ca.crt -days 365 -subj "/CN=custom-swarm-ca"
Este comando genera una clave privada (custom_ca.key
) y un certificado autofirmado (custom_ca.crt
) válido por 365 días con el Nombre Común "custom-swarm-ca".
Ahora que tenemos nuestro certificado y clave personalizados, podemos rotar la CA de Swarm utilizando estos archivos.
sudo docker swarm ca --rotate --cert ~/project/custom_ca.crt --key ~/project/custom_ca.key
Verá una salida que indica que se está rotando la CA con el certificado y la clave personalizados. La salida será similar a esta:
Swarm CA rotated.
Después de que se complete la rotación, el Swarm comenzará a utilizar su certificado de CA personalizado. Los nodos del Swarm actualizarán automáticamente sus certificados para que sean firmados por su CA personalizada.
Para verificar que se haya rotado la CA con su certificado personalizado, puede ver el certificado de CA de Swarm nuevamente:
sudo docker swarm ca --cert-dir /var/lib/docker/swarm/certificates
Examine la salida. El campo Issuer
ahora debe mostrar el Nombre Común de su CA personalizada, que es "CN=custom-swarm-ca".