And Brain said,

CI/CD Argonautica - Harbor, 항구 본문

IT/CICD Argonautica

CI/CD Argonautica - Harbor, 항구

The Man 2023. 9. 11. 17:06
반응형

CI/CD Argonautica

Docker, 선박
Kubernetes, 조타수 Harbor, 항구
Helm, 타륜
Istio, 돛
Jenkins, 선장
ArgoCD, 출항

1장/ Loki, Trickster

Troubleshooting

 

Harbor는 오픈소스 컨테이너 이미지 레지스트리로 우리 여행의 항구 역할을 해줄 것입니다. 설치는 아래 링크에서 하시면 됩니다.

https://theworldaswillandidea.tistory.com/185

 

Harbor, 컨테이너 이미지를 위한 거대한 선착장

현대의 소프트웨어 개발 트렌드를 들여다보면, '컨테이너'라는 단어를 자주 접하게 됩니다. 컨테이너화는 개발부터 배포까지의 프로세스를 표준화하며, 그 결과로서 일관성 있고, 빠르며, 안정

theworldaswillandidea.tistory.com

 

우리는 Kubernetes(이하, K8s) 클러스터에서 Harbor 에 저장된 이미지를 가져올 것입니다. K8s는 기본적으로 HTTPS 통신을 하기 때문에 우리는 Harbor에 TLS 인증서를 사용하여, HTTPS 연결이 가능하도록 암호화할 것입니다. 물론, 개발 환경이기 때문에 CA 인증서를 사용하진 않고, 자체 서명 인증서를 생성할 것입니다.

 

openssl req -x509 -nodes -newkey rsa:4096 -keyout harbor-key.pem -out harbor-cert.pem -days 365

 

이 명령어를 사용하여, 여러분만의 자체 서명 인증서를 만들 수 있을 것입니다.

 

자체 서명 인증서까지 생성을 했다면,

# http related config

http:

  # port for http, default is 80. If https enabled, this port will redirect to https port

  port: 80



# https related config

https:

  # https port for harbor, default is 443

 port: 443

  # The path of cert and key files for nginx

 certificate: /path/harbor/harbor-cert.pem

 private_key: /path/harbor/harbor-key.pem

 

harbor 구성 파일에서 이렇게 https 설정을 해주신 후,

sudo bash ./install.sh

 

다시 설치해주시면 됩니다.

 

 

Harbor 가 HTTPS 연결이 가능한 것을 확인하실 수 있습니다. 그럼 이제 Harbor의 인증서를 openssl 을 사용하여 가져옵시다.

 

openssl s_client -connect harbor_IP:443 -showcerts < /dev/null 2>/dev/null | openssl x509 -outform PEM > myregistry.crt

이 명령어를 통해 myregistry.crt 파일로 레지스트리의 인증서를 저장합니다. 저장된 인증서는 각 노드의 신뢰할 수 있는 저장소에 추가해야합니다. 모든 노드에 추가해야 합니다.

sudo cp myregistry.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

 

이후, 서비스들을 재시작 해줍니다.

sudo systemctl restart docker
sudo systemctl restart containerd
sudo systemctl restart kubelet

 

docker login 명령어를 통해 문제가 없는지 확인해봅니다. 저는 기존에 로그인을 했던 상태기 때문에, 접속 정보없이 로그인이 가능했지만, 기본적으로 Username 과 Password를 물어볼 것이니, 알맞게 입력해주시면 됩니다.

 

다음 시간에, Helm과 함께 본격적인, 출항을 해봅시다.

 

 

Thanks for watching, Have a nice day. 

 

반응형
Comments