zoukankan      html  css  js  c++  java
  • 私有镜像仓库-Harbor实战

    私有镜像仓库-Harbor实战

    我们前面在k8s上部署服务一直都是用的dockerhub上的公有镜像,对于企业服务来说,有些我们是不想把服务镜像放在公网上面的; 同时如果在有内部的镜像仓库,那拉取镜像的速度就会很快,这时候就需要我们来部署公司内部的私有镜像仓库了,这里博哥会使用我们最常用的harbor来部署我们内部的私有镜像仓库。

    harbor官方文档:
    https://goharbor.io/docs/2.2.0/

    harbor内部架构图

    第13关 k8s架构师课程之私有镜像仓库-Harbor

    harbor在我们这次课程的最终一关的位置如图所示:

    第13关 k8s架构师课程之私有镜像仓库-Harbor

    在生产中安装一般有两种方式,一种是用docker-compose启动官方打包好的离线安装包; 二上用helm chart的形式在k8s上来运行harbor,两种方式都可以用,但根据博哥的工作经验,建议是不要将harbor部署在k8s上,这里博哥就直接以第一种离线的方式来安装harbor

    # 离线形式安装harbor私有镜像仓库
    
    ## 创建目录及下载harbor离线包
    mkdir /data && cd /data
    wget https://github.com/goharbor/harbor/releases/download/v2.2.0/harbor-offline-installer-v2.2.0.tgz
    tar xf harbor-offline-installer-v2.2.0.tgz && rm harbor-offline-installer-v2.2.0.tgz
    
    ## 修改harbor配置
    cd harbor
    cp harbor.yml.tmpl harbor.yml
        5 hostname: harbor.boge.com
        17   certificate: /data/harbor/ssl/tls.cert
        18   private_key: /data/harbor/ssl/tls.key
        34 harbor_admin_password: boge666
    
    ## 创建harbor访问域名证书
    mkdir /data/harbor/ssl && cd /data/harbor/ssl
    openssl genrsa -out tls.key 2048
    openssl req -new -x509 -key tls.key -out tls.cert -days 360 -subj /CN=*.boge.com
    
    ## 准备好单机编排工具`docker-compose`
    > 从二进制安装k8s项目的bin目录拷贝过来
    scp /etc/kubeasz/bin/docker-compose 10.0.1.204:/usr/bin/
    
    > 也可以在docker官方进行下载
    https://docs.docker.com/compose/install/
    
    ## 开始安装
    ./install.sh
    
    ## 推送镜像到harbor
    echo '10.0.1.204 harbor.boge.com' >> /etc/hosts
    docker tag nginx:latest  harbor.boge.com/library/nginx:latest
    docker push harbor.boge.com/library/nginx:1.18.0-alpine
    
    ## 在其他节点上面拉取harbor镜像
    > 在集群每个 node 节点进行如下配置
    > ssh to 10.0.1.201(centos7)
    
    mkdir -p /etc/docker/certs.d/harbor.boge.com
    scp 10.0.1.204:/data/harbor/ssl/tls.cert /etc/docker/certs.d/harbor.boge.com/ca.crt
    docker pull harbor.boge.com/library/nginx:latest
    
    
    ## 重启harbor
    docker-compose down -v
    docker-compose up -d
    docker ps|grep harbor
    
    ## 附(引用自 https://github.com/easzlab/kubeasz):
    containerd配置信任harbor证书
    在集群每个 node 节点进行如下配置(假设ca.pem为自建harbor的CA证书)
    
    ubuntu 1604:
    cp ca.pem /usr/share/ca-certificates/harbor-ca.crt
    echo harbor-ca.crt >> /etc/ca-certificates.conf
    update-ca-certificates
    
    CentOS 7:
    cp ca.pem /etc/pki/ca-trust/source/anchors/harbor-ca.crt
    update-ca-trust
    上述配置完成后,重启 containerd 即可 systemctl restart containerd
    
  • 相关阅读:
    pgspider sqlite mysql docker 镜像
    pgspider docker 镜像
    pgspider基于pg 的高性能数据可视化sql 集群引擎
    diesel rust orm 框架试用
    golang 条件编译
    Performance Profiling Zeebe
    bazel 学习一 简单java 项目运行
    一个好用node http keeplive agnet
    gox 简单灵活的golang 跨平台编译工具
    mailhog 作为smtp server mock工具
  • 原文地址:https://www.cnblogs.com/Serverlessops/p/14799043.html
Copyright © 2011-2022 走看看