Rotacionar a CA do Swarm com um certificado e chave personalizados
Nesta etapa, aprenderemos como rotacionar a CA do Swarm usando um certificado e chave personalizados. Isso é útil se você deseja usar sua própria infraestrutura de CA ou integrar o Swarm com uma PKI (Public Key Infrastructure - Infraestrutura de Chave Pública) existente.
Para rotacionar a CA do Swarm com um certificado e chave personalizados, você precisa fornecer os caminhos para seus arquivos de certificado e chave de CA personalizados usando as flags --cert e --key com o comando docker swarm ca --rotate.
Primeiro, vamos criar arquivos de certificado e chave fictícios para fins de demonstração. Em um cenário real, você usaria seu certificado e chave de CA reais.
Certifique-se de estar no seu diretório home ~/project.
pwd
Você deve ver /home/labex/project.
Agora, vamos criar os arquivos de certificado e chave fictícios. Usaremos openssl para gerar um certificado autoassinado e uma chave 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 gera uma chave privada (custom_ca.key) e um certificado autoassinado (custom_ca.crt) válido por 365 dias com o Common Name "custom-swarm-ca".
Agora que temos nosso certificado e chave personalizados, podemos rotacionar a CA do Swarm usando esses arquivos.
sudo docker swarm ca --rotate --cert ~/project/custom_ca.crt --key ~/project/custom_ca.key
Você verá uma saída indicando que a CA está sendo rotacionada com o certificado e chave personalizados. A saída será semelhante a esta:
Swarm CA rotated.
Após a conclusão da rotação, o Swarm começará a usar seu certificado de CA personalizado. Os nós no Swarm atualizarão automaticamente seus certificados para serem assinados pela sua CA personalizada.
Para verificar se a CA foi rotacionada com seu certificado personalizado, você pode visualizar o certificado da CA do Swarm novamente:
sudo docker swarm ca --cert-dir /var/lib/docker/swarm/certificates
Examine a saída. O campo Issuer agora deve mostrar o Common Name da sua CA personalizada, que é "CN=custom-swarm-ca".