02-docker运维-06-harbor仓库
文章目录
1、搭建
1.1 环境依赖
-
docker
-
docker-compos
一键安装docker和docker-compose方法见: 《02-docker运维-01-安装docker》
1.2 harbor安装(使用https)
1.2.1 下载并解压缩
- 直接下载
# cd /usr/local/src
# wget http://harbor.orientsoft.cn/harbor-v1.3.0-rc4/harbor-offline-installer-v1.3.0-rc4.tgz
# tar -zxf harbor-offline-installer-v1.3.0-rc4.tgz
- github上查找
https://github.com/goharbor/harbor/releases
下载相应的版本:
harbor-offline-installer-v2.1.1.tgz
1.2.2 制作证书
说明:找一个比较大的磁盘,创建一个统一的harbor的目录,此时把证书放进去,以后还会把存储放进去。
# 创建根证书
# mkdir /mnt/data/harbor/cert && cd /mnt/data/harbor/cert
# 创建自己的CA证书
# openssl genrsa -out ca.key 2048
#生成自签名证书
# openssl req -x509 -new -nodes -key ca.key -days 10000 -out ca.crt -subj "/CN=Harbor-ca"
# 生成私钥和签名请求
# openssl req -newkey rsa:4096 -nodes -sha256 -keyout server.key -out server.csr
# 一路回车即可
# 自签发
# echo subjectAltName = IP: 10.252.96.249 > extfile.cnf
# openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 365 -extfile extfile.cnf -out server.crt
1.2.3 修改配置文件
1)harbor.cfg
# vim harbor.cfg
# 修改机主(必要)
hostname = 10.252.96.249
# 使用https(建议)
ui_url_protocol = https
# 修改证书路径(若使用https必须改成前边创建的证书地址)
customize_crt = on
ssl_cert = /mnt/data/harbor/cert/server.crt
ssl_cert_key = /mnt/data/harbor/cert/server.key
# 修改存储位置(避免磁盘不够用)
secretkey_path = /mnt/data/harbor
# 修改admin用户密码
harbor_admin_password = Bxxxxxx
2)修改docker-compose.yml
将文件中 /data 目录都修改成 /mnt/data/harbor/ 目录即可
1.2.4 安装
# ./install.sh
1.2.5 访问
https://IP
用户: admin
密码:1.2.3 中修改的密码
2. docker客户端使用https
[客户端操作]
本操作使用于自己颁发的证书,如果是购买的证书则客户端可以直接登录。
2.1 创建证书目录
# mkdir /etc/docker/certs.d/10.252.96.249
# cd /etc/docker/certs.d/10.252.96.249
说明:如果断开不是443,则创建目录 10.252.96.249:8443
2.2 拷贝ca证书
将服务器ca.crt文件拷贝进来
2.3 登录
# docker login 10.xxx.xxxx.249
2.4 修改镜像并上传
(略)
3. harbor的修改
修改harbor.cfg文件之后,执行以下命令:
# docker-compose down
# ./prepare
# docker-compose up -d
4. chart仓库
说明:
helm使用 chart仓库,更多用法见《harbor的chart仓库》
4.1 安装chart插件
进入harbor的文件目录,执行如下命令
# docker-compose stop
# ./install.sh --with-chartmuseum
# docker-compose up -d
查看结果:
进入某个项目多了helm charts的选项
4.2 helm客户端使用chart库
4.2.1 客户端添加插件
# helm plugin install https://github.com/chartmuseum/helm-push
4.2.2 客户端添加chart库
# helm repo add mylibrary http://http://10.252.97.209/chartrepo/helm
查看:
# helm repo list
4.2.3 上传chart
# helm push chart名 仓库名
# helm push redis-ha-2.0.1.tgz mylibrary