사용자 지정 인증서 및 키로 Swarm CA 로테이션
이 단계에서는 사용자 정의 인증서와 키를 사용하여 Swarm CA 를 로테이션하는 방법을 배우겠습니다. 이는 자체 CA 인프라를 사용하거나 Swarm 을 기존 PKI (공개 키 기반 구조, Public Key Infrastructure) 와 통합하려는 경우 유용합니다.
사용자 정의 인증서와 키로 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 의 Common Name 인 "CN=custom-swarm-ca"가 표시되어야 합니다.