Harbor的部署记录。
Harbor Info
Harbor HTTP部署 因为是临时使用, 所以直接给了HTTP的权限, 为的是不走公网部署 CEPH Cluster, CEPH在BootStrap之后会默认去公网的镜像仓库尝试Pull镜像并且校验镜像和服务,所以给一个私有的仓库, 直接去找私有仓库就免了公网访问卡集群的正常启动的步骤。
下载解压 1 2 3 ~]$ wget https://github.com/goharbor/harbor/releases/download/v2.3.2/harbor-offline-installer-v2.3.2.tgz ~]$ mv harbor-offline-installer-v2.3.2.tgz /opt ~]$ tar zxvf /opt/harbor-offline-installer-v2.3.2.tgz
复制修改配置文件 1 ~]$ cp /opt/harbor/harbor.yml.tmpl /opt/harbor/harbor.yml
配置默认的存储位置 1 2 3 data_volume: /opt/harbor/image_store
指定Harbor对外提供服务的域名 1 2 3 4 hostname: harbor.local
设置harbor Admin的密码 可以登录Dashboard 或者 Pull镜像
1 2 harbor_admin_password: Harbor12345
创建harbor存储镜像的目录 1 2 ~]$ mkdir /opt/harbor/image_store
配置Docker-ce 清华的镜像源 这个配置是给Centos / RHEL来使用的,来自清华的Repo Help
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ~]$ wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo ~]$ sudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo ~]$ sudo yum install docker-ce ~]$ dnf install -y docker-ce --allowerasing ~]$ sudo systemctl restart docker && sudo systemctl enable docker ~]$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s) -$(uname -m) " -o /usr/local/bin/docker-compose ~]$ sudo chmod +x /usr/local/bin/docker-compose ~]$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
安装harbor 1 2 ~]$ cd /opt/harbor /opt/harbor]$ ./install.sh
启动Harbor 直接使用Docker-compose启动即可,如果需要的话可以在配置文件中指定镜像扫描器,来进行镜像的漏洞扫描。
1 2 3 4 5 6 7 8 9 10 11 12 ~]$ cd /opt/harbor ~]$ docker-compose up -d -f /opt/harbor/docker-compose.yaml /opt/harbor]$ docker-compose ps /opt/harbor]$ watch -n 1 docker-compose ps /opt/harbor]$ docker-compose down
验证
打开浏览器,访问harbor的地址 默认的端口80
在所有docker节点上配置不安全的私有仓库,docker login [HARBORIP:PORT]
在所有podman节点上配置不安全的私有仓库,podman login [HARBORIP:PORT]
提示Login Successed, 登录成功,可以正常pull镜像了
Cephadm Bootstrap 阶段使用 Harbor 编辑cephadm文件,修改如下的镜像名称,和仓库的前缀 这里其实还是需要再测试的, 按照这个脚本的逻辑, 应该会把所有的镜像都从指定的仓库Pull下来,但是我执行的时候只有ceph/ceph:v16一个镜像下来了, 感觉还是有点儿问题的。
1 2 3 4 5 6 7 8 9 10 DEFAULT_IMAGE = 'harbor.local/ceph/ceph:v16' DEFAULT_IMAGE_IS_MASTER = False DEFAULT_IMAGE_RELEASE = 'pacific' DEFAULT_PROMETHEUS_IMAGE = 'harbor.local/ceph/prometheus:v2.18.1' DEFAULT_NODE_EXPORTER_IMAGE = 'harbor.local/ceph/node-exporter:v0.18.1' DEFAULT_ALERT_MANAGER_IMAGE = 'harbor.local/ceph/alertmanager:v0.20.0' DEFAULT_GRAFANA_IMAGE = 'harbor.local/ceph/ceph-grafana:6.7.4' DEFAULT_HAPROXY_IMAGE = 'harbor.local/ceph/haproxy:2.3' DEFAULT_KEEPALIVED_IMAGE = 'harbor.local/ceph/keepalived' DEFAULT_REGISTRY = 'harbor.local'
Cephadm 使用私有仓库bootstrap 1 2 3 4 ~]$ cephadm bootstrap --mon-ip 192.168.1.211 --allow-overwrite \ --registry-url harbor.local \ --registry-username admin \ --registry-password Harbor12345
查看并且清除ceph-bootstrap的历史记录 1 2 3 4 5 6 ~]$ ls /etc/systemd/system/ceph* ~]$ ls /usr/lib/systemd/system/ceph* ~]$ rm -rf /etc/systemd/system/ceph* ~]$ rm -rf /usr/lib/systemd/system/ceph* ~]$ docker stop `docker ps -a -q`