抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

Harbor介绍

Harbor是由VMware公司开源出来的一款企业级的Docker Registry管理项目,拥有比docker更丰富的权限,并且适用于大规模docker集群部署提供仓库服务
能够通过LDAP(Lightweight Directory Access Protocol)进行用户认证

Harbor的功能

访问控制:
    基于角色的访问控制能够使对同一个命名空间中的多个镜像仓库有不同的权限
镜像复制:
    能够在多个registry中进行复制,例如:混合云,负载均衡和高可用
图形化用户界面:
    用户能够通过浏览器进行浏览并检索当前的镜像仓库,项目名称和命名空间
审计管理:
    针对镜像仓库的操作都有日志进行记录
语言多样化:
    拥有丰富的语言库

安装前说明

1.harbor默认是不附带证书的,因此能够通过http进行没有安全性的情况下进行连接(如果想要通过外部网络环境进行访问,则需要配置https,即创建SSL证书)

生成证书详细步骤

1.生成证书机构的证书
    openssl genrsa  -out ca.key 4096 
2.生成CA证书
    openssl req -x509 -new -nodes -sha512 -days 3650 \
    -subj "/C=CN/ST=Beijing/L=Beijing/O=CP/OU=Personal/CN=DOMAIN.com" \
    -key ca.key \
    -out ca.crt
3.生成服务器证书(harbor)
    openssl genrsa -out DOMAIN.com.key 4096
4.生成证书签名请求
    openssl req -sha512 -new \
    -subj "/C=CN/ST=Beijing/L=Beijing/O=CP/OU=Personal/CN=DOMAIN.com" \
    -key DOMAIN.com.key \
    -out DOMAIN.com.csr
5.生成x509 的v3扩展文件(该文件主要为Harbor主机提供一个备用名称
    cat > v3.ext <<-EOF
        authorityKeyIdentifier=keyid,issuer
        basicConstraints=CA:FALSE
        keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
        extendedKeyUsage = serverAuth
        subjectAltName = @alt_names
        [alt_names]
        DNS.1=DOMAIN.com
        DNS.2=DOMAIN
        DNS.3=IP or hostname
    EOF
6.使用v3.ext文件为Harbor服务器生成证书
    openssl x509 -req -sha512 -days 3650 \
        -extfile v3.ext \
        -CA ca.crt -CAkey ca.key -CAcreateserial \
        -in DOMAIN.com.csr
        -out DOMAIN.com.crt

提供证书给Harbor和Docker

1.创建指定文件夹用来存放harbor的证书及私钥
    mkdir -pv /data/cert
    cp DOMAIN.com.crt /data/cert/
    cp DOMAIN.com.key /data/cert/
2.转换DOMAIN.com.crt为DOMAIN.com.cert以供Docker使用
    openssl x509 -inform PEM -in DOMAIN.com.crt -out DOMAIN.com.cert
3.将服务器证书以及密钥和CA文件复制到Harbor主机以及Docker证书文件夹中
    cp DOMAIN.com.cert /etc/docker/certs.d/DOMAIN.com/
    cp DOMAIN.com.key /etc/docker/certs.d/DOMAIN.com/
    cp ca.crt /etc/docker/certs.d/DOMAIN.com/
    注:如果将默认nginx的443 端口映射到其他端口则需要创建文件夹:
        mkdir /etc/docker/certs.d/DOMAIN.com:port | /etc/docker/certs.d/HARBOR_IP:port
4.重启docker
    systemctl restart docker

Harbor安装

K8s中部署:
获取harbor离线安装包:
    wget https://github.com/goharbor/harbor/releases/tag/v1.10.4
解压:
    tar xf harbor-offline-installer-v1.10.3.tgz

评论