第五章 配置私有倉庫Harbor


一、Harbor 安裝(尚硅谷資料)

安裝:Harbor 官方地址:官方地址:https://github.com/vmware/harbor/releases

1、解壓軟件包

tar xvf harbor-offline-installer-<version>.tgz https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-offline-installer-v1.2.0.tgz

2、配置harbor.cfga

必選參數

  • hostname:目標的主機名或者完全限定域名:目標的主機名或者完全限定域名
  • ui_url_protocol::http或或https。默認為。默認為http
  • db_password:用於db_auth的的MySQL數據庫的根密碼。更改此密碼進行任何生產用途數據庫的根密碼。更改此密碼進行任何生產用途
  • max_job_workers:(默認值為:(默認值為3)作業服務中的復制工作人員的最大數量。對於每個映像復制作業,)作業服務中的復制工作人員的最大數量。對於每個映像復制作業,工作人員將存儲庫的所有標簽同步到遠程目標。增加此數字允許系統中更多的並發復制作業。但是,由於每個工工作人員將存儲庫的所有標簽同步到遠程目標。增加此數字允許系統中更多的並發復制作業。但是,由於每個工作人員都會消耗一定數量的網絡作人員都會消耗一定數量的網絡/ CPU / IO資源,請根據主機的硬件資源,仔細選擇該屬性的值資源,請根據主機的硬件資源,仔細選擇該屬性的值
  • customize_crt:(:(on或或off。默認為。默認為on)當此屬性打開時,)當此屬性打開時,prepare腳本將為注冊表的令牌的生成腳本將為注冊表的令牌的生成/驗證創驗證創建私鑰和根證書建私鑰和根證書
  • ssl_cert::SSL證書的路徑,僅當協議設置為證書的路徑,僅當協議設置為https時才應用時才應用
  • ssl_cert_keySSL密鑰的路徑,僅當協議設置為密鑰的路徑,僅當協議設置為https時才應用時才應用
  • secretkey_path:用於在復制策略中加密或解密遠程注冊表的密碼的密鑰路徑:用於在復制策略中加密或解密遠程注冊表的密碼的密鑰路徑

3、創建 https 證書以及配置相關目錄權限

openssl genrsa -des3 -out server.key 2048
openssl req -new -key server.key -out server.csr
cp server.key server.key.org
ope nssl rsa -in server.key.org -out server.key
ope nssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
mkdir /data/cert
chmod -R 777 /data/cert

4、運行腳本進行安裝

./install.sh

5、訪問測試

https://reg.yourdomain.com 的管理員門戶(將的管理員門戶(將reg.yourdomain.com更改為您的主機名更改為您的主機名harbor.cfg

請注意,默認管理員用戶名認管理員用戶名/密碼為密碼為admin / Harbor12345

6、上傳鏡像進行上傳測試、上傳鏡像進行上傳測試

a、指定鏡像倉庫地址、指定鏡像倉庫地址

vim /etc/docker/daemon.json

{

"insecure-registries": ["serverip"]

}

b、下載測試鏡像

docker pull hello-world

c、給鏡像重新打標簽

docker tag hello-world serverip/hello-world:latest

d、登錄進行上傳

docker login serverip

7、其它 Docker 客戶端下載測試

a、指定鏡像倉庫地址(serverip指自身設置的地址,如我的:hub.lqz.com

vim /etc/docker/daemon.json

{

"insecure-registries": ["serverip"]

}

b、下載測試鏡像

docker pull serverip/hello-world:latest

二、自身安裝過程

1、編輯daemon.json文件

vim  /etc/docker/daemon.json

添加字符串:"insecure-registries":["https://hub.lqz.com"]

 

開啟docker:   

systemctl restart docker

2、創建harbor文件夾,將docker.compose放入並授權

 

 

 

 

3、創建證書

vim harbor.cfg

創建證書

① 生成私鑰:  openssl genrsa -des3 -out server.key 2048

密碼:root123

② 創建證書的請求csr:

  openssl req -new -key server.key -out server.csr

 

③ 備份私鑰

cp server.key server.key.org

④ 轉換成自己的證書(退出密碼)

openssl rsa -in server.key.org -out server.key

⑤ 拿證書請求去簽名

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

echo "192.168.100.168 hub.lqz.com" >> /etc/hosts

⑥ 在計算機里修改hosts文件

C:\Windows\System32\drivers\etc  hosts文件

用管理員權限向文件添加    192.168.100.168 hub.lqz.com

⑦ 用瀏覽器訪問  hub.lqz.com

默認賬號:admin;密碼:Harbor12345  

可在vim harbor.cfg 文件中查看

 

三、使用鏡像倉庫harbor上傳下載自定義鏡像

1、重新啟動harbor

cd  /usr/local/harbor/        

./install.sh

2、通過外網,使用docker pull 命令下載一個外部服務器中的鏡像文件用與測試

docker pull nginx

3、登錄harbor鏡像倉庫服務器

docker login hub.lqz.com

其中hub.lqz.com為自己企業鏡像倉庫的域名

 

4、查看鏡像docker images

 

5、對下載的鏡像打標簽,用於后面的上傳操作

docker tag docker.io/nginx:latest hub.lqz.com/library/nginx:latest

6、上傳至鏡像倉庫,其中library為鏡像倉庫中默認的項目名稱,如需要上傳到其他項目文件中,請自行修改為對應的項目文件名

docker push hub.lqz.com/library/nginx:latest

7、登錄harbor鏡像倉庫的UI界面,查看上傳的鏡像

 

8、使用鏡像倉庫下載鏡像文件,命令為:

docker pull hub.lqz.com/library/nginx:latest

9、刪除鏡像

docker rmi -f hub.lqz.com/library/nginx:latest

參照鏈接:https://jingyan.baidu.com/article/4b52d702e62167fc5c774b3b.html

四、遇到問題:

1ssh登錄錯誤ECDSA host key for ip has changed解決方案

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@       WARNING: POSSIBLE DNS SPOOFING DETECTED!          @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

The ECDSA host key for k8s-node01 has changed,

and the key for the corresponding IP address 192.168.100.85

is unknown. This could either mean that

DNS SPOOFING is happening or the IP address for the host

and its host key have changed at the same time.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!

It is also possible that a host key has just been changed.

The fingerprint for the ECDSA key sent by the remote host is

SHA256:HJ7t/uY0mjFJng9mYzqw7LBxVDQftfHgBJsAlGBOPjM.

Please contact your system administrator.

Add correct host key in /root/.ssh/known_hosts to get rid of this message.

Offending ECDSA key in /root/.ssh/known_hosts:1

ECDSA host key for k8s-node01 has changed and you have requested strict checking.

Host key verification failed.

lost connection

 

 

問題產生原因:

設置node節點為同一台主機(系統重裝)IP地址不一樣,master連接時再次訪問此ip服務器時,因為ssh會自動匹配之前ssh保存的信息,由於我們的服務器做了更改,會導致本地保存的ssh信息失效,於是再次連接時就會出現上述錯誤。

解決方案:

刪除本地known_hosts里面的緩存信息即可。命令:ssh-keygen -R "你的遠程服務器ip地址"  

注意:R是大寫!

 

鏈接:https://blog.csdn.net/yunweifun/article/details/78763026

 

 

 

2、出現端口不能連接問題

ssh: connect to host k8s-node01 port 22: No route to host

lost connection

vim修改/etc/hosts下對應的IP地址就恢復了

 

這篇隨筆有很多重復的東西,但我沒選擇刪除,因為我覺得知識就是一個不短重復積累的過程,加油啦!

 

鏈接:https://www.bilibili.com/video/av66617940/?p=14


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM