• 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) 属性。

      1. openssl req -x509 -new -nodes -sha512 -days 3650 \
      2. -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \
      3. -key ca.key \
      4. -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 文件名中使用它。

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

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

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

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

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

    向 Harbor 和 Docker 提供证书

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

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

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

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

      编辑文件:vim harbor.yml

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

      1. # Configuration file of Harbor
      2. # The IP address or hostname to access admin UI and registry service.
      3. # DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
      4. hostname: yourdomain.com
      5. # http related config
      6. http:
      7. # port for http, default is 80. If https enabled, this port will redirect to https port
      8. port: 80
      9. # https related config
      10. https:
      11. # https port for harbor, default is 443
      12. port: 443
      13. # The path of cert and key files for nginx
      14. certificate: /data/cert/yourdomain.com.crt
      15. private_key: /data/cert/yourdomain.com.key
      16. # # Uncomment following will enable tls communication between all harbor components
      17. # internal_tls:
      18. # # set enabled to true means internal tls is enabled
      19. # enabled: true
      20. # # put your cert and key files on dir
      21. # 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 证书文件夹中。您必须先创建适当的文件夹。

      1. cp yourdomain.com.cert /etc/docker/certs.d/yourdomain.com/
      2. cp yourdomain.com.key /etc/docker/certs.d/yourdomain.com/
      3. 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
  • 相关阅读:
    好市多(Costco)验厂要求合集
    嘿~ Win安装失败?来试试DeepinOS
    Kubernetes(k8s)使用问题记录和解决方法
    嵌入式Linux驱动开发 01:基础开发与使用
    MATLAB入门-矩阵的运算
    企业业务中台应用架构和技术架构
    跟我学制作javaEE网上书店销售管理系统(沙箱支付)springboot+vue
    软件安全检测赋能赣州发展,开源网安与赣州国投完成签约
    MATLAB | 那些你不得不知道的MATLAB小技巧(二)
    C++list
  • 原文地址:https://blog.csdn.net/xiaoxiao_yingzi/article/details/125554116