Skip to main content

Harbor 설치가이드

Harbor 설치

  1. 사양정보
  2. hardware spec
     최소사양권장사양
    CPU2Core4 Core
    Memory4G8G
    Disk40GB160GB
  3. software spec
    SoftwareVersion
    Docker17.06.0 이상
    Docker Compose1.18.0 이상
  4. Harbor설치
    1. 설치파일 다운로드
    2. harbor설치파일 : Download URL : https://github.com/goharbor/harbor/releases
    3. docker-compose : download URL : https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)
  5. 압축파일 해제
    ># tar -xvf harbor-offline-installer-v1.7.6.tgz
  6. 설정파일 변경
    ># vi harbor.cfg
    hostname = harbor
  7. Docker 실행시 iptables 정책 미생성 옵션 설정
    ># cat /etc/docker/daemon.json
    {
    "iptables": false
    }

Harbor 설정정보

파라미터 정보용  도
hostname설치하는 서버 호스트네임입력
Database-passwordPostgres root 패스워드
Database-max_idle_conns최대 유휴연결 수(0은 무제한), 기본값은 50
Database-max_open_conns최대 연결 수(0은 무제한), 기본값은 100
data_volumeHarbor에 저장할 데이터 경로(호스트경로), 기본값은 /data
Clair-updaters_intervalClair 업데이트 간격(0은 비활성화), 기본값은 12시간
max_job_workers이미지 복제작업 최대 수, 기본값은 10
Notification-webhook_job_max_retryWebhook 최대 재시도 횟수, 기본값은 10
Chart-absolute_url

Enable : 차트에서 사용할 절대URL경로
disabled : 차트에서 사용할 상대URL경로

log_levelDebug, info, warning, error, fatal 중 선택, 기본값은 info
log_rotate_count로그파일 최대 생성갯수, 기본값은 50
log_rotate_size로그파일당 최대 사이즈, 기본값은 200M
log_external_endpointsyslog연동시 사용
log_location로그를 저장할 디렉토리, 기본값은 /var/log/harbor
Proxy-http_proxyhttp프록시 사용시 설정
Proxy-https_proxyhttps프록시 사용시 설정
Proxy-no_proxy프록시 미사용시 설정
  1. 설치수행 (추후 속성변경 혹은 재설치시 필요한 파일들이기 때문에, 데이터 삭제하면 안됨)
     ># install.sh
  1. 설치옵션 설정
    옵션정보설  명
    --with-notaryhttps를 사용할 경우 설정
    --with-clair보안취약점에 대한 정적분석 기능 활성화
    --with-chartmuseum차트기능 활성화
  2. 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
  3. 웹 브라우저에서 harbor 로그인 (기본 로그인 정보 : admin / Harbor12345), 로그인 후 반드시 패스워드 변경 필요

Harbor 운영

  1. 계정관리
    1. 계정추가
      1. Administration -> Users 진입
      2. New User 선택 후 사용자명,  email주소, 패스워드 순으로  입력

        * 패스워드는 8-20자, 최소 대소문자/숫자 1개씩 입력되어야 함
    2. 관리자 계정 권한 변경
      1. Administratoration -> User진입
      2. 변경할 계정명 선택 후 SetAdmin 선택 
  2. 프로젝트 관리
    1. 프로젝트 생성
      1. Project -> NEW PROJECT -> 생성할 Project이름 -> 속성 입력
        Access Level : 프로젝트의 공개여부 (Public으로 설정하는 경우 모든 계정에서 프로젝트가 조회됨), 기본값은 private
    2. 프로젝트 권한설정
      1. 생성한 프로젝트 →  Member  진입
      2. +USER 메뉴 선택 후 추가할 계정명 입력
      3. 부여할 권한 선택
        Role 이름권  한
        Project Adminpush / pull / delete
        Developerpush / pull
        GuestPull

Harbor 재설정

  1. Harbor 구성 재설정 (harbor 설치파일 파일(install.sh 있는 곳으로 이동)
    ># docker-compose down -v

    설정정보 변경 작업 진행
    ># docker-compose up -d

  2. 실행중인 컨테이너 정보만 중지 (이미지데이터와 DB파일 유지)
    ># docker-compose down -v
  3. 기존정보 삭제 후 재설치시
    ># rm -rf /data/database
    ># rm -rf /data/registry