前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux在线安装harbor镜像仓库

Linux在线安装harbor镜像仓库

作者头像
余生大大
发布2022-11-02 16:24:45
3.3K0
发布2022-11-02 16:24:45
举报
文章被收录于专栏:余生大大余生大大

前言

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

容器仓库的选择
  • 公共仓库
    • docker hub
    • 云镜像仓库
  • 私有仓库
    • registry
    • Harbor

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

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

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

配置依赖

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

更新软件包

代码语言:javascript
复制
yum -y install yum-utils device-mapper-persistent-data lvm2 

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

指定yum镜像

代码语言:javascript
复制
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

安装docker

代码语言:javascript
复制
yum list docker-ce --showduplicates|sort -r   # 查询docker版本
yum -y install docker-ce-18.09.8   # 安装指定版本,根据生产环境自行选择

安装docker-compose

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

下载docker-compose

执行下载命令:

代码语言:javascript
复制
curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

添加可执行权限

代码语言:javascript
复制
chmod +x /usr/local/bin/docker-compose

查看docker-compose版本

代码语言:javascript
复制
docker-compose -version

这里的docker-compose版本是1.27.4

在这里插入图片描述
在这里插入图片描述

安装Harbor

下载Harbor

代码语言:javascript
复制
wget https://github.com/goharbor/harbor/releases/download/v2.1.1/harbor-offline-installer-v2.1.1.tgz

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

代码语言:javascript
复制
wget https://ghproxy.com/https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-offline-installer-v2.5.3.tgz

下载速度还是很快的

解压Harbor

代码语言:javascript
复制
tar xvf harbor-offline-installer-v2.5.3.tgz  -C /home/ && cd /home/harbor/

配置Harbor

编辑harbor.yml文件

代码语言:javascript
复制
vim harbor.yml

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

在这里插入图片描述
在这里插入图片描述

创建配置的目录

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

代码语言:javascript
复制
mkdir -p /home/harbor/certs /home/harbor/data

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

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

生成证书

代码语言:javascript
复制
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

参数解释

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

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

在这里插入图片描述
在这里插入图片描述

启动Harbor

代码语言:javascript
复制
./install.sh 
等待安装完成
在这里插入图片描述
在这里插入图片描述
如下图安装完成
在这里插入图片描述
在这里插入图片描述

验证Harbor

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

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
默认管理员用户名:admin    密码:Harbor12345  修改的话可以修改harbor.yml的配置

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

在这里插入图片描述
在这里插入图片描述

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 容器仓库的选择
    • 配置依赖
      • 更新软件包
      • 安装docker(如果在k8s集群上安装就不需要,已经安装了docker)
      • 安装docker-compose
        • 下载docker-compose
          • 添加可执行权限
            • 查看docker-compose版本
            • 安装Harbor
              • 下载Harbor
                • 解压Harbor
                  • 配置Harbor
                    • 创建配置的目录
                    • 生成SSL证书(如果有证书无需生成)
                      • 生成证书
                        • 启动Harbor
                          • 等待安装完成
                          • 如下图安装完成
                      • 验证Harbor
                      相关产品与服务
                      容器镜像服务
                      容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档