企业级Registry服务器(harbor)部署

栏目: 编程工具 · 发布时间: 4年前

                                                          企业级 Registry 服务 (harbor) 部署

修订记录

修订日期

修订者

     修订内容

    备注

20180527

brekalinux

H arbor 部署

初稿

使用参考地址 :  https://vmware.github.io/harbor/cn/

部署参考地址 :  https://github.com/vmware/harbor/blob/master/docs/installation_guide.md

Github 地址 :  https://github.com/vmware/harbor.git

1.  技术背景介绍 ;

Harbor Vmwar 公司开源的 企业级的 Docker Registry 管理项 ;

Harbor 是一个用于存储和分发 Docker 镜像的企业级 Registry 服务器,     通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源 Docker Distribution 。作为一个企业级私有 Registry 服务器, Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。 Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控。另外, Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等

2. 功能介绍;

Ø  基于角色的访问控制  - 用户与 Docker 镜像仓库通过 项目 进行组织管理,一个用户可以对多个镜像仓库在同一命名空间( project )里有不同的权限

Ø  镜像复制  - 镜像可以在多个 Registry 实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景

Ø  图形化用户界面  - 用户可以通过浏览器来浏览,检索当前 Docker 镜像仓库,管理项目和命名空间

Ø  AD/LDAP 支持  - Harbor 可以集成企业内部已有的 AD/LDAP ,用于鉴权认证管理

Ø  审计管理  - 所有针对镜像仓库的操作都可以被记录追溯,用于审计管理

Ø  国际化  - 已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来

Ø  RESTful API  - RESTful API 提供给管理员对于 Harbor 更多的操控 , 使得与其它管理软件集成变得更容易

Ø  部署简单  - 提供在线和离线两种安装工具,   也可以安装到 vSphere 平台 (OVA 方式 ) 虚拟设备

3. 硬件支持要求 ;

资 源

最低配置

最佳配置

CPU

2 CPU

4CPU 或更高  

M em

4 GB

8GB 或更高  

Disk

40 GB

160 G B 或更高

4. 软件版本要求 ;

软件名

   软件版本

                    相关描述

Python

2.7 版本或更高

默认 cenots   系统自带 , 注意 : 2.7 版本以上

Docker engine

1.10 版本或更高

参考地址 https://docs.docker.com/engine/installation/

Docker Compose

1.6 版本或更高

参考地址 :  https://docs.docker.com/compose/install/

Openssl

最新优先

   生成证书和密钥

5. 网络和端口 ;

服务监听端口

协议

            描述

443  

HTTPS

Harbor UI API 请求 这个端口上的 https 协议请求。

4443

HTTS

连接到 Docker 信任服务,只有在启 认证 时才需要。

80  

HTTP

Harbor UI API 请求 这个端口上的 http 协议请求

6 .  harbor 部署实战 ;

6.1 部署流程 ;

(1) . 获取相关 harbor 软件 ;  ( 需提前安装 docker ,Docker Compose,openssl)

(2). 生成证书和密钥 ;

(3). 配置 harbor.cfg ;

         ( 4 . 运行 install. sh 启动 harbor;

6 .2   获取软件;

软件获取地址 :  https://github.com/vmware/harbor/releases

https://github.com/vmware/harbor/archive/v1.5.0.zip

$ tar xvf harbor-online-installer-<version>.tgz ( 在线安装 )

$ tar xvf harbor-offline-installer-<version>.tgz (离线安装 )

6. 3 配置 https 证书 ;

6.3.1 配置自签名证书 ;

(1). 进入目录创建C A 认证;

cd  /app/harbor/cert

[root@docker-harbor]#localdomain= reg.ops.com

( 2).根据自己 需要进行 修改

openssl req -nodes -subj "/C=CN/ST=GuangDong/L=DongGuan/CN=$localdomain" -newkey rsa:2048 -keyout $localdomain.key -out $localdomain.csr 

openssl x509 -req -days 3650 -in $localdomain.csr -signkey $localdomain.key -out $localdomain.crt 

openssl x509 -req -in $localdomain.csr -CA $localdomain.crt -CAkey $localdomain.key -CAcreateserial -out $localdomain.crt -days 10000 

6.3.2  配置 商业 证书 ;

注意 :

https 商业证书需要提前在证书的提供商进行购买 ;

1 . 将商业的的证书和密钥放置到 harbor.cfg 配置文件下 :

例如 :

ssl_cert = /app/harbor/cert/ops.com.crt   # 证书

ssl_cert_key = //app/harbor/cert/ops.com.key.pem # 密钥

6.3.3  docker 配置自签名客户端认证;

注意 :

       1. 自签名 docker   需要配置客户端认证

       2. 商业证书则不用配置,因客户端能识别;    

       3. 否则 d ocker login reg.chehejia.com 会出现如下错误   

       ping attempt failed with error: Get https:// reg . chehejia /v2/: x509:

certificate is valid for server, not reg.chehejia.com 

[root@docker-harbor]#  mkdir -p /etc/docker/certs.d/reg.chehejia.com /

[root@docker-harbor]#  cp /app/harbor/cert/reg.ops.com.crt /etc/docker/certs.d/reg.ops.com / /ca.crt

6. 4   调整配置文件 ;

[root@k8s-cluster-master01 harbor]# grep -v "^#" harbor.cfg |grep -v "^$"

_version = 1.5.0

hostname = reg.ops.com   ### 访问域名地址

ui_url_protocol = https  # 配置访问协议 , 默认为 http; 如果要启动 SSl 认证h ttps

max_job_workers = 50

customize_crt = on

####### 可选的 https 证书配置地址  

ssl_cert = /app/harbor/cert/ops.com.crt   # 证书

ssl_cert_key = /chj/app/harbor/cert/ops.com.key.pem # 密钥 #

secretkey_path = /data

######################

admiral_url = NA

log_rotate_count = 50

log_rotate_size = 200M

http_proxy =

https_proxy =

no_proxy = 127.0.0.1,localhost,ui

email_identity =

email_server = smtp.mydomain.com

email_server_port = 25

email_username = sample_admin@mydomain.com

email_password = abc

email_from = admin <sample_admin@mydomain.com>

email_ssl = false

email_insecure = false

harbor_admin_password = Harbor12345   ##web 控制台登录密码

auth_mode = db_auth

ldap_url = ldaps://ldap.mydomain.com 配置 ####ldap###

ldap_basedn = ou=people,dc=mydomain,dc=com

ldap_uid = uid

ldap_scope = 2

ldap_timeout = 5

ldap_verify_cert = true

ldap_group_basedn = ou=group,dc=mydomain,dc=com

ldap_group_filter = objectclass=group

ldap_group_gid = cn

ldap_group_scope = 2 #### 配置 ldap   完毕 ########

self_registration = on

## 数据库密码# ##

token_expiration = 30 #  token 过期时间,默认为 30 分钟

project_creation_restriction = everyone

db_host = mysql

db_password = root123

db_port = 3306

db_user = root

redis_url = redis:6379

clair_db_host = postgres

clair_db_password = password

clair_db_port = 5432

clair_db_username = postgres

clair_db = postgres

uaa_endpoint = uaa.mydomain.org

uaa_clientid = id

uaa_clientsecret = secret

uaa_verify_cert = true

uaa_ca_cert = /path/to/ca.pem

registry_storage_provider_name = filesystem

registry_storage_provider_config =

6.5  运行 harbor 服务 ;

[root@docker-harbor]# ./install.sh

注意 :

1. 运行前必须安装 docker   并启动 docker   服务 , Docker Compose 服务 ;

2 . 运行启动过程中会拉去对应的 docker   镜像 比较慢,耐心等待完毕后自动启动;

3.  建议提前配置 docker   加速器 ( 可选择阿里云加速器 ) ;

[root@docker-harbor]# docker -c ompose stop ### 关闭harbor

7.docker 部署 ;

7.1 docker 部署 ;

 
[root@docker-harbor]# yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
 
[root@docker-harbor]# yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
 
 
[root@docker-harbor]# yum-config-manager --enable docker-ce-edge
 
 
[root@docker-harbor]# yum install docker-ce
 
[root@docker-harbor]# systemctl start docker

7. 2   部署 Docker Compose

[root@docker-harbor]# curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
 
[root@docker-harbor]# chmod +x /usr/local/bin/docker-compose
 
[root@docker-harbor]# docker-compose --version
docker-compose version 1.21.2, build a133471

8. 使用教程 ;

8.1   harbor   测试 ;

1. 访问域名 ;

企业级Registry服务器(harbor)部署

(2). 默认管理员账号密码 ;

a dmin/ Harbor12345

( 3) 新建项目 ;

企业级Registry服务器(harbor)部署

4 . 添加用户 ;

企业级Registry服务器(harbor)部署

( 5) . 添加项目成员;

企业级Registry服务器(harbor)部署

企业级Registry服务器(harbor)部署

8. 2 使用 docker   上传镜像至 harbor;

(1). 网拉取一个测试镜像 ( nginx)

企业级Registry服务器(harbor)部署

(2) 标记本地镜像,将其归入 harbor 仓库

[root@docker-harbor ~]# docker tag docker.io/nginx:latest reg.chehejia.com/public/nginx:v1

( 3). 配置登录 harbor ;

企业级Registry服务器(harbor)部署

(4). push   镜像到 harbor ;

企业级Registry服务器(harbor)部署

(5).   H arbor   控制台查看 ;

企业级Registry服务器(harbor)部署

企业级Registry服务器(harbor)部署

9. 技术总结 ;

1.  harbor   使用非常便捷 ,

2.    严格的权限划分,对应镜像使用权限严格控制 ;

3    . k8s   docker   易用;

4.  部署技术成本较小 ( Compose 统一管理 )

5.     方便支持 ldap 接入适用企业用户 ;

6.     审计查询方便 ;


以上所述就是小编给大家介绍的《企业级Registry服务器(harbor)部署》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入体验Java Web开发内幕

深入体验Java Web开发内幕

张孝祥 / 电子工业出版社 / 2007-12 / 55.00元

《深入体验Java Web开发内幕:高级特性》是《深入体验Java Web开发内幕——核心基础》的姊妹篇,Java Web开发的初学者在阅读《深入体验Java Web开发内幕:高级特性》前,应该先学习《深入体验Java Web开发内幕——核心基础》。《深入体验Java Web开发内幕:高级特性》详细阐述了Java Web应用开发中的各种高级特性——Apache文件上传组件的源码分析及应用和编写原理......一起来看看 《深入体验Java Web开发内幕》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具