Docker Harbor 2.3.4 集群 双主复制高可用镜像仓库
下面操作大部分是雙節(jié)點(diǎn)同時(shí)執(zhí)行一樣的命令,不同的地方我會(huì)進(jìn)行標(biāo)注和特殊說明
文章目錄
- 一、環(huán)境準(zhǔn)備
- 1. 環(huán)境要求
- 2. 節(jié)點(diǎn)總覽
- 3. 安裝docker-compose
- 二、安裝harbor
- 2.1. 下載
- 2.2. 解壓
- 2.3. 調(diào)整配置
- 2.4. 安裝 harbor
- 2.5. 效果驗(yàn)證
- 三、Docker開啟遠(yuǎn)程API
- 3.1. 修改配置
- 3.2. 支持http
- 3.3. 重新啟動(dòng)Docker服務(wù)
- 3.4. 防火墻管理
- 3.5. 重新啟動(dòng)
- 3.6. 監(jiān)控狀態(tài)
- 四、測(cè)試推送鏡像
- 4.1. 新建項(xiàng)目
- 4.2. 登錄harbor倉(cāng)庫(kù)
- 4.3. tag鏡像
- 4.4. 上傳鏡像到私有倉(cāng)庫(kù)
- 4.5. 登錄
- 4.6. 驗(yàn)證鏡像
- 五、拉取鏡像
- 5.1. 登錄
- 5.2. 拉取鏡像
- 六、雙主復(fù)制
- 6.1. 登錄雙節(jié)點(diǎn)
- 6.2. 新建目標(biāo)
- 6.3. 新建復(fù)制規(guī)則
- 6.4. 規(guī)則效果
- 6.5. 鏡像同步驗(yàn)證
- 6.6. 新建目標(biāo)
- 6.7. 新建規(guī)則
- 6.8. 規(guī)則效果
- 6.9. 總結(jié)
- 七、基本操作
- 7.1. 下線
- 7.2. 監(jiān)控狀態(tài)
- 7.3. 重新部署上線
一、環(huán)境準(zhǔn)備
1. 環(huán)境要求
環(huán)境docker版本17.06.0+
| 系統(tǒng)版本 | centOS 7.6.1810 |
| docker | 20.10.11 |
| docker-compose | 1.23.2 |
| jdk | 1.8.0_301 |
2. 節(jié)點(diǎn)總覽
| 192.168.92.129 | 80 | harbor節(jié)點(diǎn)1 |
| 192.168.92.130 | 80 | harbor節(jié)點(diǎn)2 |
3. 安裝docker-compose
服務(wù)器有網(wǎng)絡(luò)安裝方式:
docker-compose是docker用來管理容器的一個(gè)工具,harbor的運(yùn)行基于docker-compose。
- 安裝docker-compose:
- 如果github安裝太慢,可使用下面的高速地址安裝:
-
服務(wù)器無(wú)網(wǎng)絡(luò)時(shí)安裝方式:
先下載好(下載地址:https://github.com/docker/compose/releases/)后,上傳至服務(wù)器centos的/usr/local/bin目錄下 -
賦予權(quán)限
不管使用哪種方式下載,上傳到指定目錄后都需要對(duì)文件進(jìn)行賦權(quán):
二、安裝harbor
2.1. 下載
下載安裝包:
官網(wǎng)地址:https://github.com/vmware/harbor/releases/
下載速度慢可用這個(gè)地址:http://harbor.orientsoft.cn/
2.2. 解壓
cd /app tar -zxvf harbor-offline-installer-v2.3.4.tgz2.3. 調(diào)整配置
特殊說明:如果搭建的單機(jī)環(huán)境的話,配置服務(wù)器ip即可,如果集群環(huán)境,配置各自的ip
修改harbor配置文件
從模板harbor.yml.tmpl拷貝一份文件命名harbor.yml
PS: 這里跟以前2.x以下的版本不一樣,沒有了harbor.cfg文件,我們需要手動(dòng)復(fù)制harbor.yml.tmpl在做修改即可修改配置harbor.yml文件如下:
PS: harbor作為私有倉(cāng)庫(kù)作用在公司內(nèi)網(wǎng),一般都是信任關(guān)系,沒多大必要做https,使用http即可!
所以 把https相關(guān)的已經(jīng)注釋掉
- 192.168.92.129 節(jié)點(diǎn)
harbor默認(rèn)存儲(chǔ)目錄是/data,但是我服務(wù)器存儲(chǔ)大空間在/app磁盤,因此,調(diào)整了目錄存儲(chǔ)路徑
集群環(huán)境,配置要在配置一份,證書都用自己的,不能復(fù)制給另一臺(tái)使用
- 192.168.92.130 節(jié)點(diǎn)
2.4. 安裝 harbor
運(yùn)行install.sh文件安裝harbor
cd /app/harbor/ ll ./prepare ./install.sh
2.5. 效果驗(yàn)證
進(jìn)入登錄頁(yè)面:
http://192.168.92.129
https://192.168.92.130/
默認(rèn)用戶名:
密碼:
Harbor12345- 登錄頁(yè)面
三、Docker開啟遠(yuǎn)程API
3.1. 修改配置
用vim編輯器修改docker.service文件
vim /usr/lib/systemd/system/docker.service需要修改的部分:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock修改后的部分:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock3.2. 支持http
讓Docker支持http上傳鏡像(docker對(duì)于私有倉(cāng)庫(kù)默認(rèn)都是使用https,不信任http)
- 192.168.92.129節(jié)點(diǎn)操作:
- 192.168.92.130節(jié)點(diǎn)操作:
如果端口號(hào)不是 80;加上端口號(hào):
echo '{ "insecure-registries":["192.168.92.129:9080"] }' > /etc/docker/daemon.jsonor
echo '{ "insecure-registries":["192.168.92.130:9080"] }' > /etc/docker/daemon.json3.3. 重新啟動(dòng)Docker服務(wù)
systemctl daemon-reload systemctl restart docker3.4. 防火墻管理
開啟防火墻的Docker構(gòu)建端口(需要的話)
企業(yè)中需要開啟防火墻
3.5. 重新啟動(dòng)
cd /app/harbor docker-compose down -v docker-compose up -d3.6. 監(jiān)控狀態(tài)
查看harbor的運(yùn)行狀態(tài)
cd /app/harbor docker-compose ps四、測(cè)試推送鏡像
這第四測(cè)試推送鏡像,都在192.168.92.129節(jié)點(diǎn)操作
4.1. 新建項(xiàng)目
刪除默認(rèn)的項(xiàng)目
新建名稱為k8s項(xiàng)目
4.2. 登錄harbor倉(cāng)庫(kù)
docker login -u admin -p Harbor12345 192.168.92.1294.3. tag鏡像
docker tag nginx:latest 192.168.92.129/k8s/nginx:v1.04.4. 上傳鏡像到私有倉(cāng)庫(kù)
docker push 192.168.92.129/k8s/nginx:v1.0
4.5. 登錄
進(jìn)入項(xiàng)目?jī)?nèi)部
4.6. 驗(yàn)證鏡像
驗(yàn)證上傳的鏡像
- 如果遇到一下問題(沒有就跳過):
unauthorized: unauthorized to access repository: ces/ces-auth, action: push: unauthorized to access repository: ces/ces-auth, action: push
所有操作多對(duì)的,那可能是端口模式默認(rèn)的 80/443
- 解決方案
加端口(8080)
五、拉取鏡像
這第四測(cè)試推送鏡像,都在192.168.92.130節(jié)點(diǎn)操作
5.1. 登錄
docker login -u admin -p Harbor12345 192.168.92.129 vim /etc/docker/daemon.json { "insecure-registries":["192.168.92.129","192.168.92.130"] }說明:這里可以配置nginx的服務(wù)器IP地址,或者nginx的本地域名,如果配置本地域名的話,需要在hosts為你就按中配置域名
- 重新啟動(dòng)Docker服務(wù)
- 重新啟動(dòng)
- 監(jiān)控狀態(tài)
查看harbor的運(yùn)行狀態(tài)
5.2. 拉取鏡像
docker pull 192.168.92.129/k8s/nginx:v1.0六、雙主復(fù)制
6.1. 登錄雙節(jié)點(diǎn)
6.2. 新建目標(biāo)
129操作
填寫信息如下:
填寫完畢后,測(cè)試連接是否成功
6.3. 新建復(fù)制規(guī)則
重要的是選擇目標(biāo)
6.4. 規(guī)則效果
6.5. 鏡像同步驗(yàn)證
回到130節(jié)點(diǎn),刷新瀏覽器,就會(huì)多一個(gè)k8s的項(xiàng)目
6.6. 新建目標(biāo)
在130節(jié)點(diǎn)新建一個(gè)目標(biāo)
填寫信息如下:
6.7. 新建規(guī)則
重要的是選擇目標(biāo)
6.8. 規(guī)則效果
6.9. 總結(jié)
如果129服務(wù)器節(jié)點(diǎn)如果存在相同的項(xiàng)目和鏡像,不會(huì)發(fā)生真正的傳輸,但是會(huì)比對(duì)鏡像的簽名,如果一樣就不會(huì)再做額外的工作了。
七、基本操作
7.1. 下線
cd /app/harbor docker-compose down -v7.2. 監(jiān)控狀態(tài)
查看harbor的運(yùn)行狀態(tài)
cd /app/harbor docker-compose ps7.3. 重新部署上線
docker-compose up -dor
docker-compose restart總結(jié)
以上是生活随笔為你收集整理的Docker Harbor 2.3.4 集群 双主复制高可用镜像仓库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: caas k8s主控节点如何查询_k8s
- 下一篇: docker: Error respon