#docker #kubernetes #container #orchestrator #microservice #infrastructure-as-code #devops #ci #cd

제목[Q&A] docker swarm join 할 때 Root CA Certificate 오류가 발생할 경우2019-12-03 23:42
작성자

mb-file.php?path=2019%2F12%2F03%2FF474_img1-1.png
 

Error response from daemon: error while validating Root CA Certificate: x509: certificate has expired or is not yet valid 


이 문제는 인증서의 유효기간 때문에 발생합니다.


Manager 노드와 Worker 노드간의 시간 Sync가 맞지 않아, 한쪽에서 인증서의 유효를 확인하지 못하는 케이스입니다.


같은 컴퓨터에서 만든 Docker Machine 간의 swarm 구성할 때는 발생하지 않습니다. (호스트 컴퓨터의 시간으로 동기화를 하기 때문)


다만, Windows의 Docker Machine과 외부 서버와의 Swarm 구성을 할 때는 문제가 발생합니다.


mb-file.php?path=2019%2F12%2F03%2FF475_img1-2.PNG
 

Windows에서 date는 오전 11시 24분으로 설정되어 있으며 (KST)

Docker Machine의 date는 오전 11시 24분이지만 KST(UTC+0900)가 아닌 UTC로 설정되어 있습니다.


따라서, sudo date -u $(date -u +%m%d%H%M%Y) 명령어를 실행시켜 시간을 재설정 하였습니다.


외부의 서버 또한 NTP 서버에 맞춰서 시간 동기화를 해주면 오류가 해결됩니다.


mb-file.php?path=2019%2F12%2F03%2FF476_img1-3.PNG

#) 위의 Docker Machine 시간 재설정은 CMD나 Powershell에서 하는 것은 소용이 없으니, Git Bash나 MinTTY등의 터미널을 사용하기 바랍니다.
 

댓글