Ssoon
[3주차] CHAPTER-13 하버를 이용한 이미지 저장소 구축 본문
이정훈님이 집필하신 "24단계 실습으로 정복하는 쿠버네티스" 로 진행하는 CloudNet@ 팀의 PKOS 3주차 정리입니다.
✔ Harbor ?
◾ Harbor는 정책 및 역할 기반 액세스 제어로 아티팩트를 보호하고, 이미지를 스캔하고 취약성이 없도록 하며, 이미지를 신뢰할 수 있는 것으로 서명하는 오픈 소스 레지스트리입니다.
✅ Helm 차트를 이용한 Harbor 설치
🧿 사전 준비
✔ Harbor 외부 접속에 사용하는 Domain 이름
✔ StorageClass 지정
✔ Harbor 서비스의 외부 노출 타입
🧿 Helm 을 이용하여 Harbor를 설치합니다.
🧿1️⃣ Harbor 차트 저장소를 추가하고 (helm repd add) => 2️⃣ 차트 저장소에서 로컬로 사용 가능한 차트의 정보를 업데이트 (helm repo update) => 3️⃣ 저장소에서 차트를 다운로드 (helm pull) => 4️⃣압축해제
🧿Harbor Helm 차트 템플릿 변수 파일 (my-values.yaml) 을 수정합니다.
🧿 Default StorageClass을 지정합니다.
🧿 Harbor 네임스페이스를 만들고 설치를 시작합니다.
✔ harbor-chartmuseum : Harbor를 Helm 차트 리포지토리로 사용할 수 있습니다.
✔ harbor-notary-server : 서명이 완료된 container image만 운영환경에 사용하도록 설정할 수 있습니다.
✔ harbor-registry : container image 를 저장하는 Pod 입니다.
✔ harbor-trivy : container image 의 보안 취약점을 스캔합니다.
🧿 EXTERNAL-IP 를 호스트 파일에 등록합니다.
🧿 웹브라우저로 접속합니다.
🧿 로그인 후 새로운 프로젝트를 생성합니다.
✔ Harbor 는 프로젝트 단위로 container Image 저장소를 관리합니다.
✅ 로컬 container 이미지를 원격 Harbor 이미지 저장소로 업로드
✔ 리포지토리를 이용할 수 있도록 사용자 인증 작업 필요!
✔ Harbor는 각 사용자 별로 권한을 제한
🧿 docker 를 설치한 후, nginx 와 busybox 이미지를 다운로드 합니다.
✔ 모든 container 이미지의 태그 정보는 이미지 registry 주소 정보를 포함합니다.
✔ 원격 Harbor 레지스트리로 이미지를 업로드하려면 태그 정보를 원격 Harbor 레지스트리 (harbor.myweb.io) 를 포함하는 태그 정보로 변경합니다.
🧿 docker tag 명령어로 태그 정보를 변경합니다.
🧿 이미지 업로드를 위해 로그인 합니다 -> Harbor 의 기본 제공 인증서는 유료발행 공인 인증서가 아니라 무료 사설 인증서를 사용하여 에러가 발생합니다.
1️⃣ Harbor 에서 사용하는 사설 인증서를 docker가 신뢰하는 인증서로 등록
2️⃣ 로컬에서 하버 레지스트리의 보안 인증 여부를 확인하지 않는 설정 추가
=> 책에서는 2️⃣ 로 진행하였지만 별도의 서버에 Harbor를 설치하여 진행하였습니다.
🧿 원격서버에 구성한 Harbor에 접속 성공을 확인합니다.
🧿 image 을 업로드하고 Harbor 웹페이지에서 확인합니다.
✅ 쿠버네티스 YAML 파일의 컨테이너 이미지 저장소를 Harbor로 변경
✔ YAML 파일에 주소를 명시하면 쿠버네티스 Node에서 해당 레지스트리에 접속해 이미지를 다운로드 합니다.
🧿각 Node hosts 파일을 수정합니다.
🧿 각 Node에서 인증서 파일을 복사하고 docker 을 재실행합니다.
🧿 각 Node에서 Harbor 접속을 확인합니다.
busybox 배포 안됨 => x509 error 발생 => 삽질중
'Production Kubernetes Online Study' 카테고리의 다른 글
[3주차] CHAPTER-14 깃랩을 이용한 로컬 Git 소스 저장소 (0) | 2023.03.22 |
---|---|
[3주차] 원격 서버 Harbor 설치 (0) | 2023.03.22 |
[2주차] - 네트워크 & 스토리지 (0) | 2023.03.17 |
[2주차] CHAPTER-12 쿠버네티스 공유 파일 스토리지 (0) | 2023.03.14 |
[2주차] CHAPTER-11 스토리지 볼륨 스냅샷 사용하기 (0) | 2023.03.14 |