• 私有镜像仓库-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
    
  • 相关阅读:
    C++成员函数在内存中的存储方式
    C++重写(覆盖)、重载、重定义、
    C++中的覆盖与隐藏(详细讲解)
    c++中被忽视的隐藏
    C++对象的内存分布和虚函数表
    C++ explicit关键字详解
    命名空间 extern的用法 static全局变量
    extern和include的作用
    extern用法总结
    KMP算法
  • 原文地址:https://www.cnblogs.com/Serverlessops/p/14799043.html
Copyright © 2020-2023  润新知