一、部署带证书的docker高可用的私有仓库harbor
harbor下载包:https://hub.fastgit.org/goharbor/harbor/releases
docker阿里云地址:docker-ce-linux-centos-7-x86_64-stable-Packages安装包下载_开源镜像站-阿里云
Harbor 是 VMware 公司开源的企业级 Registry 项目,可以帮助用户迅速搭建一个企业级的 Docker registry 服务。它以 Docker 公司开源的 registry 为基础,提供了管理UI, 基于角色的访问控制(Role Based Access Control),AD/LDAP 集成、以及审计日志(Audit logging) 等企业用户需求的功能,同时还原生支持中文。
一)部署docker(docker-compose)
1、安装docker
#安装docker,生产需要docker存储配置足够大的磁盘 yum install -y https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm systemctl start docker systemctl enable docker
2、安装docker-compose(没有pip环境,需先安装)
安装pip环境
mkdir -p /opt/src cd /opt/src/ wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python wget https://files.pythonhosted.org/packages/69/81/52b68d0a4de760a2f1979b0931ba7889202f302072cc7a0d614211bc7579/pip-18.0.tar.gz tar xf pip-18.0.tar.gz cd pip-18.0/ python setup.py install pip -V
安装docker-compose
pip install docker-compose
二)部署带证书的harbor
1、生成证书
cd /opt/src wget http://harbor.orientsoft.cn/harbor-v1.5.0/harbor-offline-installer-v1.5.0.tgz tar xf harbor-offline-installer-v1.5.0.tgz
mkdir -p /opt/src/harbor/certs/ cd /opt/src/harbor/certs/ #生成key openssl genrsa -out /opt/src/harbor/certs/harbor-ca.key 2048 #生成指定有效期的证书(节点1) openssl req -x509 -new -nodes -key /opt/src/harbor/certs/harbor-ca.key -subj "/CN=harbor01.local.com" -days 7120 -out /opt/src/harbor/certs/harbor-ca.crt #节点2 openssl req -x509 -new -nodes -key /opt/src/harbor/certs/harbor-ca.key -subj "/CN=harbor02.local.com" -days 7120 -out /opt/src/harbor/certs/harbor-ca.crt
2、配置harbor
更改配置vim /opt/src/harbor/harbor.cfg
hostname = harbor01.local.com ui_url_protocol = https ssl_cert = /opt/src/harbor/certs/harbor-ca.crt ssl_cert_key = /opt/src/harbor/certs/harbor-ca.key harbor_admin_password = test123456
安装相关的命令
./install.sh
其他操作命令
#为Harbor生成配置文件 ./prepare #安装 ./install #启动 docker-compose up -d #关闭 docker-compose down -v
三)客户端配置
1、发送harbor证书到管理节点
mkdir -p /etc/docker/certs.d/harbor{01,02}.local.com #发送证书到管理节点,然后将相关文件发送到所有操作镜像的节点 #node01 scp /opt/src/harbor/certs/harbor-ca.crt 10.0.0.10:/etc/docker/certs.d/harbor01.local.com/ #node02 scp /opt/src/harbor/certs/harbor-ca.crt 10.0.0.10:/etc/docker/certs.d/harbor02.local.com/
2、docker登录测试
登录成功后,在操作用户家目录生成.一个隐藏目 .docker,目录底下有一个文件config.json
# cat config.json { "auths": { "harbor01.loclal.com": { "auth": "YWRtaW46dGVzdDEyMzQ1Ng==" } }, "HttpHeaders": { "User-Agent": "Docker-Client/18.03.1-ce (linux)" } }
3、把相关文件送到有操作镜像的节点
yum install sshpass -y
#!/bin/bash #目标主机列表 IP=" 10.0.0.11 10.0.0.12 10.0.0.13 10.0.0.14 " for node in ${IP};do sshpass -p 123456 ssh-copy-id -p 22 ${node} -o StrictHostKeyChecking=no if [ $? -eq 0 ];then echo "${node} 秘钥copy完成,准备环境初始化....." ssh -p 22 ${node} "mkdir /etc/docker/certs.d/harbor{01,02}.local.com -p" echo "Harbor 证书目录创建成功!" scp -P 22 /etc/docker/certs.d/harbor01.local.com/harbor-ca.crt ${node}:/etc/docker/certs.d/harbor01.local.com/harbor-ca.crt scp -P 22 /etc/docker/certs.d/harbor02.local.com/harbor-ca.crt ${node}:/etc/docker/certs.d/harbor02.local.com/harbor-ca.crt echo "Harbor 证书拷贝成功!" scp -P 22 /etc/hosts ${node}:/etc/hosts echo "host 文件拷贝完成" scp -r -P 22 /root/.docker ${node}:/root/ echo "Harbor 认证文件拷贝完成!" scp -r -P 22 /etc/resolv.conf ${node}:/etc/ else echo "${node} 秘钥copy失败" fi done
docker 镜像仓库 Harbor 部署 以及 跨数据复制 - 丶小炒肉 - 博客园
Harbor私有镜像仓库无坑搭建 - Mr.zou - 博客园
二、harbor高级应用
一)harbor管理helm-charts
对于已经安装的harbor仓库,先stop,然后执行安装命令
1、安装
切换到harbor 的安装目录,进行操作 cd $HARBOR_HOME docker-compose stop sh install.sh --with-chartmuseum
安装完,如下图
2、helm使用chart仓库
安装helm helm基本使用 - 思维无界限 - 博客园
安装helm push插件:helm基本使用 - 思维无界限 - 博客园
helm repo add --username=${USERNAME} --password=${PASSWORD} mylibrary http://${HARBOR_SERVER}/chartrepo/library helm repo list helm fetch stable/redis-ha #使用fetch或pull下载charts helm cm-push redis-ha-2.0.1.tgz mylibrary #上传到私有仓库
二)安装扫描器trivy
扫描器的文档:Harbor 1.10 Puts Security and Pluggable Scanners in the Limelight | The Harbor blog
对于已经安装的harbor仓库,先stop,然后执行安装命令(注意:高版本)
sh install.sh --with-chartmuseum --with-trivy
安装后如下图
三)从harbor拉取镜像慢
docker 从harbor 拉取镜像慢_Harbor:将制品库发挥到极致-CSDN博客