ubuntu 安装harbor

一、准备工作:

1.安装docker

apt install docker.io

安装docker-compose

下载地址:https://github.com/docker/compose/releases

给docker-compose移动到/usr/local/bin目录下,同时赋权限a+x;

下载harbor

下载地址:https://github.com/goharbor/harbor/releases

 二、

解压安装配置IP端口并启动harbor

tar -xvf  harbor-online-installer-v2.5.1.tgz

cd harbor

如需要创建证书请直接下拉查看二(2)内容:

修改文件执行命令:mv haorbor.yml.tmpl  harbor.yml

编辑文件:vim harbor.yml

修改 harbor.yml  中 hostname字段  配置为本机IP ,端口改成9980(避免80端口被其它程序占用)

执行命令:./install.sh,安装成功!

  

 输入对应的IP地址加端口既可打开harbor网站!

Harbor默认用户名:admin

Harbor默认密码:Harbor12345

docker-compose up -d       //启动harbor

以上就是安装harbor教程!

二(2)、创建证书

默认情况下,Harbor 不附带证书。可以在没有安全性的情况下部署 Harbor,以便您可以通过 HTTP 连接到它。但是,只有在没有连接到外部 Internet 的测试或开发环境中才能使用 HTTP。在非内部环境中使用 HTTP 会使您面临中间人攻击。在生产环境中,始终使用 HTTPS。如果您启用 Content Trust with Notary 以正确签署所有图像,则必须使用 HTTPS。

要配置 HTTPS,您必须创建 SSL 证书。您可以使用由受信任的第三方 CA 签名的证书,也可以使用自签名证书。下面介绍如何使用 OpenSSL创建 CA,以及如何使用您的 CA 签署服务器证书和客户端证书。您可以使用其他 CA 提供程序,例如 Let's Encrypt

下面的过程假设您的 Harbor 注册中心的主机名是yourdomain.com,并且它的 DNS 记录指向您正在运行 Harbor 的主机。

生成证书颁发机构证书

在生产环境中,您应该从 CA 获得证书。在测试或开发环境中,您可以生成自己的 CA。要生成 CA 证书,请运行以下命令。

  1. 生成 CA 证书私钥。

    openssl genrsa -out ca.key 4096
    
  2. 生成 CA 证书。

    调整-subj选项中的值以反映您的组织。如果您使用 FQDN 连接您的 Harbor 主机,则必须将其指定为公用名 ( CN) 属性。

    openssl req -x509 -new -nodes -sha512 -days 3650 \
     -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \
     -key ca.key \
     -out ca.crt
    

生成服务器证书

证书通常包含一个.crt文件和一个.key文件,例如,yourdomain.com.crtyourdomain.com.key.

  1. 生成私钥。

    openssl genrsa -out yourdomain.com.key 4096
    
  2. 生成证书签名请求 (CSR)。

    调整-subj选项中的值以反映您的组织。如果您使用 FQDN 连接您的 Harbor 主机,则必须将其指定为公用名称 ( CN) 属性并在密钥和 CSR 文件名中使用它。

    openssl req -sha512 -new \
        -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \
        -key yourdomain.com.key \
        -out yourdomain.com.csr
    
  3. 生成 x509 v3 扩展文件。

    无论您是使用 FQDN 还是 IP 地址连接到您的 Harbor 主机,您都必须创建此文件,以便为您的 Harbor 主机生成符合主题备用名称 (SAN) 和 x509 v3 的证书扩展要求。替换DNS条目以反映您的域。

    cat > v3.ext <<-EOF
    authorityKeyIdentifier=keyid,issuer
    basicConstraints=CA:FALSE
    keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
    extendedKeyUsage = serverAuth
    subjectAltName = @alt_names
    
    [alt_names]
    DNS.1=yourdomain.com
    DNS.2=yourdomain
    DNS.3=hostname
    EOF
    
  4. 使用该v3.ext文件为您的 Harbor 主机生成证书。

    yourdomain.comCRS 和 CRT 文件名中的 替换为 Harbor 主机名。

    openssl x509 -req -sha512 -days 3650 \
        -extfile v3.ext \
        -CA ca.crt -CAkey ca.key -CAcreateserial \
        -in yourdomain.com.csr \
        -out yourdomain.com.crt
    

向 Harbor 和 Docker 提供证书

生成 、 和 文件后ca.crtyourdomain.com.crtyourdomain.com.key必须将它们提供给 Harbor 和 Docker,并重新配置 Harbor 以使用它们。

  1. 将服务器证书和密钥复制到 Harbor 主机上的 certficates 文件夹中。

    cp yourdomain.com.crt /data/cert/
    cp yourdomain.com.key /data/cert/
    

    修改文件执行命令:mv harbor.yml.tmpl  harbor.yml

    编辑文件:vim harbor.yml

    修改 harbor.yml  中 hostname字段  配置为yourdomain.com,听见证书文件所在路径,端口默认;

    # Configuration file of Harbor
      
    # The IP address or hostname to access admin UI and registry service.
    # DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
    hostname: yourdomain.com
    
    # 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: /data/cert/yourdomain.com.crt
      private_key: /data/cert/yourdomain.com.key
    
    # # Uncomment following will enable tls communication between all harbor components
    # internal_tls:
    #   # set enabled to true means internal tls is enabled
    #   enabled: true
    #   # put your cert and key files on dir
    #   dir: /etc/harbor/tls/internal
    
    

    执行命令:./install.sh,安装成功!

    配置本地hosts,将yourdomain.com添加进去,浏览器直接访问既可;

     

  2. 转换yourdomain.com.crtyourdomain.com.cert, 供 Docker 使用。

    Docker 守护进程将.crt文件解释为 CA 证书,将.cert文件解释为客户端证书。

    openssl x509 -inform PEM -in yourdomain.com.crt -out yourdomain.com.cert
    
  3. 将服务器证书、密钥和 CA 文件复制到 Harbor 主机上的 Docker 证书文件夹中。您必须先创建适当的文件夹。

    cp yourdomain.com.cert /etc/docker/certs.d/yourdomain.com/
    cp yourdomain.com.key /etc/docker/certs.d/yourdomain.com/
    cp ca.crt /etc/docker/certs.d/yourdomain.com/
    

    如果您将默认nginx端口 443 映射到不同的端口,请创建文件夹/etc/docker/certs.d/yourdomain.com:port/etc/docker/certs.d/harbor_IP:port.

  4. 重启 Docker 引擎。

    systemctl restart docker
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值