k8s搭建安裝 Harbor 私有映象倉庫(詳細)
阿新 • • 發佈:2020-11-20
一、設定主機名(可忽略)
# 設定 Harbor 伺服器主機名 hostnamectl set-hostname harbor.wangzy.com
二、安裝docker 服務
安裝 Docker 服務並配置阿里雲加速器
1、安裝基礎軟體包
yum -y install yum-utils device-mapper-persistent-data lvm2
2、配置 YUM 映象倉庫
yum-config-manager --add-repo http://mirrors.163.com/.help/CentOS7-Base-163.repo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安裝 Docker 服務
yum list docker-ce --showduplicates|sort -r # 查詢docker版本 yum -y install docker-ce-18.09.8 # 安裝指定版本,根據生產環境自行選擇
4、修改 deamon.json 配置阿里雲映象加速器
# 配置方式:
# 登入https://www.aliyun.com 在阿里雲控制檯的容器映象服務-->映象加速器選單中找到你的映象加速地址。
# 在 /etc/docker/daemon.json 中寫入如下內容(檔案不存在則建立改檔案),映象地址改為你的實際地址。
mkdir -p /etc/docker cat << EOF > /etc/docker/daemon.json { "registry-mirrors": ["https://k1ktap5m.mirror.aliyuncs.com"] } EOF mkdir -p /etc/systemd/system/docker.service.d systemctl daemon-reload systemctl restart docker && systemctl enable docker
三、安裝docker-compose服務
官方地址:https://github.com/docker/compose/releases
# 1、登入 GitHub ,找到對應版本下載 curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose # 2、將下載後的檔案放到 /usr/local/bin 目錄下,並新增執行許可權 chmod +x /usr/local/bin/docker-compose # 3、檢視版本 docker-compose -version
四、安裝harbor服務
1、下載harbor軟體包
方式一:登入官方地址下載對應版本:https://github.com/goharbor/harbor/releases
方式二:直接下載:wget https://github.com/goharbor/harbor/releases/download/v2.1.1/harbor-offline-installer-v2.1.1.tgz
2、解壓
將 harbor 服務加壓到 /home 目錄下,以下所有操作均以解壓後目錄為當前目錄
tar xvf harbor-offline-installer-v2.1.1.tgz -C /home/ && cd /home/harbor/
3、修改harbor.yml配置檔案
3.1 修改配置檔案並建立對應目錄
[root@localhost harbor]# cat harbor.yml ..... ..... # DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients. hostname: harbor.wangzy.com ##########修改域名 ########### 關閉http訪問方式 #http: ##########該行註釋掉 # port for http, default is 80. If https enabled, this port will redirect to https port #port: 80 ##########改行註釋掉 ########### 開啟https訪問方式 # https related config https:#########取消註釋 # # https port for harbor, default is 443 port: 443 #########取消註釋 # # The path of cert and key files for nginx certificate: /home/harbor/certs/harbor.crt #########取消註釋,填寫實際路徑 private_key: /home/harbor/certs/harbor.key #########取消註釋,填寫實際路徑 ..... ..... # Remember Change the admin password from UI after launching Harbor. harbor_admin_password: Harbor12345 ######### admin使用者登入密碼 # Harbor DB configuration database: # The password for the root user of Harbor DB. Change this before any production use. password: root123 ######### 資料庫密碼 # The default data volume data_volume: /home/harbor/data #########目錄自己建立,根據實際情況填寫
3.2 建立對應目錄(根據配置檔案修改)
mkdir -p /home/harbor/certs /home/harbor/data
4、OpenSSL生成自簽證書
使用 OpenSSL 建立自簽證書
# 1、生成證書,並儲存到 /home/harbor/certs 目錄下 openssl req -newkey rsa:4096 -nodes -sha256 -keyout /home/harbor/certs/harbor.key -x509 -out /home/harbor/certs/harbor.crt -subj /C=CN/ST=BJ/L=BJ/O=DEVOPS/CN=harbor.wangzy.com -days 3650 req 產生證書籤發申請命令 -newkey 生成新私鑰 rsa:4096 生成祕鑰位數 -nodes 表示私鑰不加密 -sha256 使用SHA-2雜湊演算法 -keyout 將新建立的私鑰寫入的檔名 -x509 簽發X.509格式證書命令。X.509是最通用的一種簽名證書格式。 -out 指定要寫入的輸出檔名 -subj 指定使用者資訊 -days 有效期(3650表示十年) # 2、檢視證書 [root@harbor harbor]# ls certs/ harbor.crt harbor.key
5、啟動 harbor 服務
# 執行啟動指令碼
./install.sh
四、頁面訪問測試
1、新增本地域名配置
修改本地配置檔案或者用 SwitchHosts 軟體配置虛擬域名(訪問IP可跳過該步驟)
# 進入 C:\Windows\System32\drivers\etc 對應目錄,用 notpad 編輯器開啟 hosts 檔案,新增對應域名 C:\Windows\System32\drivers\etc 192.168.101.28 https://harbor.wangzy.com
2、訪問頁面測試
# 方式一:直接訪問域名(需本地配置對應域名) https://harbor.wangzy.com # 方式二:訪問 Harbor 伺服器(IP+埠) https://192.168.101.28:80
3、輸入使用者名稱,密碼
# # 頁面訪問地址 https://harbor.wangzy.com # 預設管理員使用者名稱:admin 密碼:Harbor12345,具體檢視 harbor.yml 配置
4、建立專案(可忽略)
5、建立角色(可忽略)
6、新增專案訪問成員(可忽略)
五、上傳映象到私有倉庫
1、新增私有映象信任倉庫
# 1、新增倉庫地址 vi /etc/docker/daemon.json { "registry-mirrors": ["https://k1ktap5m.mirror.aliyuncs.com"], "insecure-registries": ["https://harbor.wangzy.com"] } # 2、重啟 docker 服務 systemctl daemon-reload systemctl restart docker
2、登入私有倉庫
# 其他伺服器登入映象倉庫,預設管理員使用者名稱:admin 密碼:Harbor12345 # 1、配置host配置檔案 vi /etc/hosts ...追加 192.168.101.28 harbor.wangzy.com # 2、登入地址 # 詳細登入方式:docker login -u 使用者 -p 密碼 伺服器IP:埠 docker login https://harbor.wangzy.com 輸出如下: # 預設管理員使用者名稱:admin 密碼:Harbor12345 Username: admin Password: WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded [root@localhost ~]#
3、上傳本地映象到 Harbor 倉庫
本例項以nginx為例
前提:本地已有nginx映象
# 1、將本地映象打上私有倉庫 # 格式:docker tag 本地映象名:版本 Harbor伺服器訪問ip+埠/test/倉庫映象名:版本 docker tag nginx:latest harbor.wangzy.com/wangzy/mynginx:v1 # 2、上傳映象 docker push harbor.wangzy.com/wangzy/mynginx:v1 # 3、檢視 Harbor 頁面是否新增映象
4、在 Harbor 上檢視映象資訊
5、下載映象
# 刪除本地映象並重新下載
docker pull harbor.wangzy.com/wangzy/mynginx:v1
下載後到 Harbor 倉庫檢視,發現下載數增加