Harbor 설치가이드
Harbor 설치
- 사양정보
- hardware spec
최소사양 권장사양 CPU 2Core 4 Core Memory 4G 8G Disk 40GB 160GB - software spec
Software Version Docker 17.06.0 이상 Docker Compose 1.18.0 이상 - Harbor설치
- 설치파일 다운로드
- harbor설치파일 : Download URL : https://github.com/goharbor/harbor/releases
- docker-compose : download URL : https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)
- 압축파일 해제
># tar -xvf harbor-offline-installer-v1.7.6.tgz
- 설정파일 변경
># vi harbor.cfg hostname = harbor
- Docker 실행시 iptables 정책 미생성 옵션 설정
># cat /etc/docker/daemon.json { "iptables": false }
Harbor 설정정보
파라미터 정보 | 용 도 |
---|---|
hostname | 설치하는 서버 호스트네임입력 |
Database-password | Postgres root 패스워드 |
Database-max_idle_conns | 최대 유휴연결 수(0은 무제한), 기본값은 50 |
Database-max_open_conns | 최대 연결 수(0은 무제한), 기본값은 100 |
data_volume | Harbor에 저장할 데이터 경로(호스트경로), 기본값은 /data |
Clair-updaters_interval | Clair 업데이트 간격(0은 비활성화), 기본값은 12시간 |
max_job_workers | 이미지 복제작업 최대 수, 기본값은 10 |
Notification-webhook_job_max_retry | Webhook 최대 재시도 횟수, 기본값은 10 |
Chart-absolute_url |
Enable : 차트에서 사용할 절대URL경로 |
log_level | Debug, info, warning, error, fatal 중 선택, 기본값은 info |
log_rotate_count | 로그파일 최대 생성갯수, 기본값은 50 |
log_rotate_size | 로그파일당 최대 사이즈, 기본값은 200M |
log_external_endpoint | syslog연동시 사용 |
log_location | 로그를 저장할 디렉토리, 기본값은 /var/log/harbor |
Proxy-http_proxy | http프록시 사용시 설정 |
Proxy-https_proxy | https프록시 사용시 설정 |
Proxy-no_proxy | 프록시 미사용시 설정 |
- 설치수행 (추후 속성변경 혹은 재설치시 필요한 파일들이기 때문에, 데이터 삭제하면 안됨)
># install.sh
- 설치옵션 설정
옵션정보 설 명 --with-notary https를 사용할 경우 설정 --with-clair 보안취약점에 대한 정적분석 기능 활성화 --with-chartmuseum 차트기능 활성화 - Docker Container 실행상태 확인
> # docker container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 08ba147d3fe2 goharbor/nginx-photon:v1.7.6 "nginx -g 'daemon ..." 58 minutes ago Up 21 minutes (healthy) 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp nginx 4867028a2f0d goharbor/harbor-portal:v1.7.6 "nginx -g 'daemon ..." 58 minutes ago Up 21 minutes (healthy) 80/tcp harbor-portal dfca94c54bd5 goharbor/harbor-jobservice:v1.7.6 "/harbor/start.sh" 58 minutes ago Up 21 minutes harbor-jobservice debd6e8e8606 goharbor/harbor-core:v1.7.6 "/harbor/start.sh" 58 minutes ago Up 21 minutes (healthy) harbor-core e0b1a1d488b6 goharbor/clair-photon:v2.0.8-v1.7.6 "/docker-entrypoin..." 58 minutes ago Up 21 minutes (healthy) 6060-6061/tcp clair b9ab0d96e2f4 goharbor/registry-photon:v2.6.2-v1.7.6 "/entrypoint.sh /e..." 58 minutes ago Up 21 minutes (healthy) 5000/tcp registry 0fe2e40d93f4 goharbor/harbor-db:v1.7.6 "/entrypoint.sh po..." 58 minutes ago Up 21 minutes (healthy) 5432/tcp harbor-db 97a3c0c4788a goharbor/harbor-registryctl:v1.7.6 "/harbor/start.sh" 58 minutes ago Up 21 minutes (healthy) registryctl e8a73d34601c goharbor/redis-photon:v1.7.6 "docker-entrypoint..." 58 minutes ago Up 21 minutes 6379/tcp redis acb08e237de1 goharbor/harbor-adminserver:v1.7.6 "/harbor/start.sh" 58 minutes ago Up 21 minutes (healthy) harbor-adminserver 2da452ad1ffe goharbor/harbor-log:v1.7.6 "/bin/sh -c /usr/l..." 58 minutes ago Up 21 minutes (healthy) 127.0.0.1:1514->10514/tcp harbor-log
- 웹 브라우저에서 harbor 로그인 (기본 로그인 정보 : admin / Harbor12345), 로그인 후 반드시 패스워드 변경 필요
Harbor 운영
- 계정관리
- 계정추가
- Administration -> Users 진입
- New User 선택 후 사용자명, email주소, 패스워드 순으로 입력
* 패스워드는 8-20자, 최소 대소문자/숫자 1개씩 입력되어야 함
- 관리자 계정 권한 변경
- Administratoration -> User진입
- 변경할 계정명 선택 후 SetAdmin 선택
- 계정추가
- 프로젝트 관리
- 프로젝트 생성
- Project -> NEW PROJECT -> 생성할 Project이름 -> 속성 입력
Access Level : 프로젝트의 공개여부 (Public으로 설정하는 경우 모든 계정에서 프로젝트가 조회됨), 기본값은 private
- Project -> NEW PROJECT -> 생성할 Project이름 -> 속성 입력
- 프로젝트 권한설정
- 생성한 프로젝트 → Member 진입
- +USER 메뉴 선택 후 추가할 계정명 입력
- 부여할 권한 선택
Role 이름 권 한 Project Admin push / pull / delete Developer push / pull Guest Pull
- 프로젝트 생성
Harbor 재설정
- Harbor 구성 재설정 (harbor 설치파일 파일(install.sh 있는 곳으로 이동)
># docker-compose down -v
설정정보 변경 작업 진행># docker-compose up -d
- 실행중인 컨테이너 정보만 중지 (이미지데이터와 DB파일 유지)
># docker-compose down -v
- 기존정보 삭제 후 재설치시
># rm -rf /data/database ># rm -rf /data/registry