采用开源的harbor来进行部署,分别在两台服务器进行部署,然后实现两个镜像仓库数据同步
具体部署环境如下:
10.10.10.3 主harbor 操作系统: centos 8
10.10.10.4 备用harbor 操作系统:centos 8
前提条件:已经在2台服务器部署docker,具体部署命令如下:
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io -y
如果报有冲突发生,利用下面命令删除冲突的组件
yum erase podman buildah -y
1)、openssl genrsa -out ca.key 4096
2)、openssl req -x509 -new -nodes -sha512 -days 36500 \
-subj "/C=CN/ST=Guangdong/L=GuangZhou/O=lab/OU=Personal/CN= 10.10.10.3" \
-key ca.key \
-out ca.crt
3)、openssl genrsa -out 10.10.10.3.key 4096
4)、 cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1=10.10.10.3
DNS.2=127.0.0.1
DNS.3=localhost
EOF
5)、 openssl req -sha512 -new \
-subj "/C=CN/ST=Guangdong/L=Guangzhou/O=lab/OU=Personal/CN=10.10.10.3" \
-key 10.10.10.3.key \
-out 10.10.10.3.csr
6)、openssl x509 -req -sha512 -days 36500 \
-extfile v3.ext \
-CA ca.crt -CAkey ca.key -CAcreateserial \
-in 10.10.10.3.csr \
-out 10.10.10.3.crt
7)、openssl x509 -inform PEM -in 10.10.10.3.crt -out 10.10.10.3.cert
下载docker-compose,下载地址:Release v2.17.0 · docker/compose · GitHub
将下载程序上传到服务器,运行下面命令
cat docker-compose-linux-x86_64 >> /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
如果一切正常,运行 docker-compose --version能输出版本号
在服务器上,新建目录 /home/software/harbor/data,然后cd data,在data目录下新建certs目录,将 10.10.10.3.crt和0.10.10.3.crt.key复制到 /home/software/harbor/data/certs目录下
下载harbor离线安装包,下载地址:Releases · goharbor/harbor · GitHub
然后用 tar xzvf harbor-offline-installer-v1.10.17.tgz 解压,
进入解压后的目录,修改harbor.yml 配置文件,主要修改地方
hostname: 10.10.10.3 #修改成服务器IP
http:
port: 3080 #修改成具体的端口
https:
port: 3443 #修改成具体端口
certificate: /home/software/harbor/data/certs/10.10.10.3.crt #修改成具体路径
private_key: /home/software/harbor/data/certs/10.10.10.3.key
harbor_admin_password #修改成具体的管理员密码
data_volume: /home/software/harbor/data #修改成具体服务器路径,用于容器挂载
进入到安装包解压后的文件夹,运行
./prepare
./install.sh --with-clair --with-chartmuseum #支持helm chart和镜像扫描
看到所有容器都启动,表示安装成功
在浏览器 https://10.10.10.3:3443/输入admin以及harbor.yml里面的密码,看看是否能够正常访问
1) 、在10.10.10.4 服务器上按照上述步骤,安装harbor,注意要把上面标红的文字换成备用harbor部署的IP地址
2)、 然后在主harbor,设置备份目标
3)、最后,在主harbor设置同步规则