• k8s在线安装harbor镜像仓库


    前言

    在之前的文章中已经搭建好了k8s集群跟KubeSphere的可视化系统,但是在实际应用上我们服务的镜像推送都需要在集群的所有节点上手动进行docker build,非常不方便。所以我们需要一个私有的镜像仓库。

    容器仓库的选择

    • 公共仓库
      • docker hub
      • 云镜像仓库
    • 私有仓库
      • registry
      • Harbor

    在企业应用上肯定会选择私有仓库,这时候就需要在registryHarbor中选择一个了。

    • registrydocker官方提供的私有镜像仓库,但是没有图形页面,没有权限控制,并且每次传输都会传输全量文件。
    • HarborVMware的开源项目,提供了管理图形界面,基于角色的访问控制(Role Based Access Control),镜像远程复制同步,AD/lDAP集成,以及审计日志等企业用户需求的功能,同时还 原生支持中文。

    Harbor相对registry具有了许多在应用上的优点,所以Harbor是更多企业的选择,本篇就是要为k8s集群集成我们的私有Harbor仓库

    配置依赖

    正常Harbor仓库应该选择一个独立的服务器进行安装部署,保证那边集群产生了问题也不会影响到私有镜像仓库,但是我们也是实验的场景,可以选择安装在k8s资源足够的集群上。

    更新软件包

    yum -y install yum-utils device-mapper-persistent-data lvm2 
    
    • 1

    安装docker(如果在k8s集群上安装就不需要,已经安装了docker)

    指定yum镜像

    yum-config-manager --add-repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    • 1
    • 2

    安装docker

    yum list docker-ce --showduplicates|sort -r   # 查询docker版本
    yum -y install docker-ce-18.09.8   # 安装指定版本,根据生产环境自行选择
    
    • 1
    • 2

    安装docker-compose

    使用docker compose可以一键安装Harbor,但是要做高可用的仓库还是手工部署。

    下载docker-compose

    执行下载命令:

    curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    
    • 1

    添加可执行权限

    chmod +x /usr/local/bin/docker-compose
    
    • 1

    查看docker-compose版本

    docker-compose -version
    
    • 1

    这里的docker-compose版本是1.27.4

    在这里插入图片描述


    安装Harbor

    下载Harbor

    wget https://github.com/goharbor/harbor/releases/download/v2.1.1/harbor-offline-installer-v2.1.1.tgz
    
    • 1

    上面下载地址特别慢的话使用下面的国内代理地址下载

    wget https://ghproxy.com/https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-offline-installer-v2.5.3.tgz
    
    • 1

    下载速度还是很快的

    在这里插入图片描述

    解压Harbor

    tar xvf harbor-offline-installer-v2.5.3.tgz  -C /home/ && cd /home/harbor/
    
    • 1

    配置Harbor

    编辑harbor.yml文件

    vim harbor.yml
    
    • 1

    修改下图内容的配置,一个是配置https证书,一个是配置data数据目录。hostname参数修改成本机的hostname名称

    在这里插入图片描述

    创建配置的目录

    创建配置文件中放置证书跟data的文件目录

    mkdir -p /home/harbor/certs /home/harbor/data
    
    • 1

    生成SSL证书(如果有证书无需生成)

    如果有自己的证书可以将证书crtkey文件放到上面配置的目录,如果没有就按此步骤自签一个

    生成证书

    openssl req -newkey rsa:4096 -nodes -sha256 -keyout /home/harbor/certs/harbor.key -x509 -out /home/harbor/certs/harbor.crt -subj /C=CN/ST=BJ/L=BJ/O=DEVOPS/CN=harbor.wangzy.com -days 3650
    
    • 1

    参数解释

    - req     产生证书签发申请命令
    - newkey  生成新私钥
    - rsa:4096  生成秘钥位数
    - nodes   表示私钥不加密
    - sha256  使用SHA-2哈希算法
    - keyout  将新创建的私钥写入的文件名
    - x509   签发X.509格式证书命令。X.509是最通用的一种签名证书格式。
    - out 指定要写入的输出文件名
    - subj    指定用户信息
    - days    有效期(3650表示十年)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    再次查看certs目录就存在了证书

    在这里插入图片描述

    启动Harbor

    ./install.sh 
    
    • 1

    等待安装完成

    在这里插入图片描述

    如下图安装完成

    在这里插入图片描述


    验证Harbor

    安装完成后访问https://服务器ip地址,访问的时候会有一个警告,点击高级选择忽略继续访问即可,然后就到了我们的Harbor登陆页

    在这里插入图片描述

    默认管理员用户名:admin    密码:Harbor12345  修改的话可以修改harbor.yml的配置
    
    • 1

    登陆成功就到了Harbor的主页了

    在这里插入图片描述

    如果想要通过自签的域名访问需要配置本机的hosts,将服务器的ip指向我们签发的域名harbor.wangzy.com,具体怎么操作搜一下怎么配置hosts就行

  • 相关阅读:
    vue2中的props属性
    【改进灰狼优化算法】基于协调探索和开发能力的改进灰狼优化算法求解单目标优化问题(Matlab代码实现)
    这才是增加收录的核心操作方向
    Spring事务实现的方式及底层原理
    Open-Sora:开源版的Sora
    系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第四部分:微服务架构
    淘宝/天猫API:item_search_best-天猫畅销榜
    openmp 通用核心 学习 2 数据环境—任务-内存模型
    【刷题记录⑨】Java工程师丨字节面试真题(三)
    RocketMQ 顺序消息解析——图解、源码级解析
  • 原文地址:https://blog.csdn.net/AnNanDu/article/details/126252956