k8s搭建安裝 Harbor 私有鏡像倉庫(詳細)


一、設置主機名(可忽略)

# 設置 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 倉庫查看,發現下載數增加

 

 

 

結束

 


免責聲明!

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



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