harbor仓库部署

harbor仓库部署

harbor介绍

  • harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。
  • 作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。

harbor的功能

  • 多租户内容签名和验证
  • 安全性和漏洞分析
  • 审核日志记录
  • 身份集成和基于角色的访问控制
  • 实例之间的映像复制
  • 可扩展的 API 和图形用户界面
  • 国际化(现为英文和中文)

Docker compose

Harbor在物理机上部署是非常难的,而为了简化Harbor的应用,Harbor官方直接把Harbor做成了在容器中运行的应用,而且这个容器在Harbor中依赖类似redis、mysql、pgsql等很多存储系统,所以它需要编排很多容器协同起来工作,因此VMWare Harbor在部署和使用时,需要借助于Docker的单机编排工具( Docker compose)来实现。

Compose 是用于定义和运行多容器 Docker 应用程序的工具。使用 Compose,您可以使用 YAML 文件来配置应用程序的服务。然后,使用单个命令,从配置中创建并启动所有服务。

harbor部署

软件包地址:

harbor软件包:Release v2.5.3 · goharbor/harbor (github.com)

docker compose 软件包:Install Docker Compose CLI plugin | Docker Documentation

下载并安装撰写 CLI 插件
[root@localhost ~]# DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
[root@localhost ~]# mkdir -p $DOCKER_CONFIG/cli-plugins
[root@localhost ~]# cd .docker/
[root@localhost .docker]# ls
cli-plugins  config.json


给一个执行权限
[root@localhost bin]# chmod +x docker-compose-linux-x86_64 
[root@localhost bin]# ll
total 25188
-rwxr-xr-x 1 root root 25792512 Aug 11 18:36 docker-compose-linux-x86_64


[root@localhost cli-plugins]# mv  /usr/local/bin/docker-compose-linux-x86_64   /root/.docker/cli-plugins/
[root@localhost cli-plugins]# ls
docker-compose-linux-x86_64
[root@localhost cli-plugins]# mv docker-compose-linux-x86_64 docker-compose
[root@localhost cli-plugins]# ls
docker-compose


做个链接
[root@localhost cli-plugins]# pwd
/root/.docker/cli-plugins
[root@localhost cli-plugins]# ln -s /root/.docker/cli-plugins/docker-compose  /usr/bin/
[root@localhost cli-plugins]# cd
[root@localhost ~]# which docker-compose 
/usr/bin/docker-compose



安装成功,查看版本号
[root@localhost ~]# docker compose version
Docker Compose version v2.7.0


解压
[root@localhost ~]# tar xf harbor-offline-installer-v2.5.3.tgz  -C /usr/local/
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ls
bin  etc  games  harbor  include  lib  lib64  libexec  sbin  share  src
[root@localhost local]# cd harbor/
[root@localhost harbor]# ls
LICENSE  common.sh  harbor.v2.5.3.tar.gz  harbor.yml.tmpl  install.sh  prepare

[root@localhost harbor]# cp harbor.yml.tmpl harbor.yml
[root@localhost harbor]# ls
LICENSE  common.sh  harbor.v2.5.3.tar.gz  harbor.yml  harbor.yml.tmpl  install.sh  prepare
[root@localhost harbor]# vim harbor.yml
hostname: yqzharbor 设置主机名
#https:
  # https port for harbor, default is 443
  # port: 443
  # The path of cert and key files for nginx
  #certificate: /your/certificate/path
  #private_key: /your/private/key/path
(httpds的注释掉)


修改主机名
[root@localhost ~]# hostnamectl set-hostname yqzharbor
[root@localhost ~]# bash



安装
[root@yqzharbor harbor]# ./install.sh 

[Step 0]: checking if docker is installed ...

Note: docker version: 20.10.17

[Step 1]: checking docker-compose is installed ...

Note: docker-compose version: 2.7.0
 ⠿ Container harbor-jobservice  Started                                                             4.6s
✔ ----Harbor has been installed and started successfully.----



查看端口号
[root@yqzharbor harbor]# ss -anlt
State       Recv-Q      Send-Q           Local Address:Port           Peer Address:Port     Process      
LISTEN      0           128                  127.0.0.1:1514                0.0.0.0:*                     
LISTEN      0           128                    0.0.0.0:80                  0.0.0.0:*                     
LISTEN      0           128                    0.0.0.0:22                  0.0.0.0:*                     
LISTEN      0           128                       [::]:80                     [::]:*                     
LISTEN      0           128                       [::]:22                     [::]:*              

访问
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要在Kubernetes上部署Harbor仓库,您可以按照以下步骤进行操作: 1. 在Kubernetes集群中创建一个命名空间(Namespace),用于部署Harbor。可以使用以下命令创建命名空间: ``` kubectl create namespace harbor ``` 2. 接下来,您需要在Kubernetes中部署一个持久化存储卷(Persistent Volume)和一个持久化存储卷声明(Persistent Volume Claim),用于存储Harbor的数据。您可以根据您的需求选择不同的存储解决方案,如NFS、GlusterFS或Ceph等。以下是一个示例使用NFS的配置文件: ```yaml apiVersion: v1 kind: PersistentVolume metadata: name: harbor-pv labels: type: nfs spec: capacity: storage: 10Gi accessModes: - ReadWriteMany nfs: server: <NFS server IP> path: <NFS server path> --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: harbor-pvc namespace: harbor spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi selector: matchLabels: type: nfs ``` 将上述配置文件保存为`harbor-pv.yaml`,然后使用以下命令创建Persistent Volume和Persistent Volume Claim: ``` kubectl apply -f harbor-pv.yaml ``` 3. 现在,您可以部署Harbor。您可以使用Helm来简化部署过程。首先,添加Harbor的Helm仓库: ``` helm repo add harbor https://helm.goharbor.io ``` 4. 创建一个名为`harbor-values.yaml`的配置文件,并根据您的需求进行配置。以下是一个示例配置文件: ```yaml expose: type: ingress tls: enabled: false ingress: hosts: - harbor.example.com annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/proxy-body-size: "0" persistence: enabled: true existingClaim: harbor/harbor-pvc ``` 在该配置文件中,您可以配置Harbor的访问方式(如Ingress或NodePort)、域名、持久化存储等。 5. 使用以下命令安装Harbor: ``` helm install harbor harbor/harbor -n harbor -f harbor-values.yaml ``` 这将在之前创建的`harbor`命名空间中部署Harbor。 6. 等待部署完成后,您可以使用以下命令查看Harbor的状态: ``` kubectl get pods -n harbor ``` 当所有的Harbor组件都处于`Running`状态时,表示部署成功。 7. 最后,您可以通过配置的访问方式(如Ingress或NodePort)访问Harbor。如果使用Ingress,确保已经配置了域名解析和证书。 希望以上步骤对您有所帮助!如有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值