僅需添加1個參數,即可飛速拉取Rancher鏡像!

作者簡介

王海龍,SUSE/Rancher中國社區技術經理,負責Rancher中國技術社區的維護和運營。擁有7年的雲計算領域經驗,經歷了OpenStack到Kubernetes的技術變革,無論底層操作系統Linux,還是虛擬化KVM或是Docker容器技術都有豐富的運維和實踐經驗。

前 言

離線安裝部署可以讓企業在內網環境順利運行Rancher,但是在國內網絡環境中進行Rancher離線安裝時,由於鏡像本身較大以及網絡的影響下載所需的鏡像耗時較長。

Rancher 提供的 rancher-images.txt 有 100+個鏡像,壓縮後的大小也將近 8G。從 Rancher release(https://github.com/rancher/rancher/releases) 下載的 rancher-save-images.sh 默認從 dockerhub 拉取鏡像。如果所有鏡像都從 dockerhub 下載,那將是一個非常艱鉅的任務。

爲了進一步提升國內用戶體驗,Rancher 針對國內環境做了一些優化, 在 rancher-save-images.sh 中增加了 --from-aliyun true 參數, 來支持從國內的阿里雲鏡像倉庫去拉取 rancher-images.txt 的鏡像。

注意:

  1. 從 Rancher v2.4.15 和 v2.5.8 開始支持--from-aliyun true 參數。
  2. 從 Rancher release 中下載的 rancher-save-images.sh 暫不支持 --from-aliyun
    true
    參數。
  3. 支持 --from-aliyun true 參數的 rancher-save-images.sh 可以從http://mirror.rancher.cn --> rancher 獲得。

操作步驟

1、獲取支持 --from-aliyun true 參數的 rancher-save-images.sh

瀏覽器訪問 http://mirror.rancher.cn,然後導航到 rancher 目錄下,選擇對應的 rancher 版本,下載 rancher-save-images.sh。rancher-images.txtrancher-load-images.shhttp://mirror.rancher.cn 或 Rancher release 下載均可,無差別。

圖片

2、從阿里雲鏡像倉庫拉取鏡像並打包

root@ip-172-31-21-94:~/image# ./rancher-save-images.sh -h
USAGE: ./rancher-save-images.sh [--image-list rancher-images.txt] [--images rancher-images.tar.gz] [--from-aliyun true]
  [-l|--image-list path] text file with list of images; one image per line.
  [-i|--images path] tar.gz generated by docker save.
  [--from-aliyun true|false] get an image from aliyun
  [-h|--help] Usage message
root@ip-172-31-21-94:~/image#
root@ip-172-31-21-94:~/image# ./rancher-save-images.sh --from-aliyun true
Image pull success: registry.cn-hangzhou.aliyuncs.com/rancher/busybox
Image pull success: registry.cn-hangzhou.aliyuncs.com/rancher/backup-restore-operator:v1.0.4-rc4
Image pull success: registry.cn-hangzhou.aliyuncs.com/rancher/cis-operator:v1.0.4
Image pull success: registry.cn-hangzhou.aliyuncs.com/rancher/configmap-reload:v0.3.0-rancher4
Image pull success: registry.cn-hangzhou.aliyuncs.com/rancher/coredns-coredns:1.6.2
...

從以上日誌中可以看出使用 --from-aliyun true 指定了從阿里雲鏡像倉庫拉取鏡像,速度比從 dockerhub 拉鏡像快了 N 倍。

腳本執行成功後會在當前目錄生成 rancher-images.tar.gz 的鏡像壓縮包。

3、推送鏡像到私有鏡像庫

這一步,你將使用腳本將文件 rancher-images.tar.gz 中的鏡像上傳到您自己的私有鏡像庫。

文件 rancher-images.txt 、 rancher-images.tar.gz 應該和 rancher-load-images.sh 腳本在同一目錄下。

登錄私有鏡像庫

docker login harbor.kingsd.top

推送鏡像

./rancher-load-images.sh --registry harbor.kingsd.top

等待執行成功後,就可以在私有鏡像倉庫中看到所有 Rancher 需要的鏡像已經上傳完畢。

後 記

本文的操作步驟和Rancher官方文檔的離線安裝基本相同,只不過在本文中 rancher-save-images.sh 從 http://mirror.rancher.cn 下載,並且在執行 rancher-save-images.sh 時增加了 --from-aliyun true 參數來指定從阿里雲鏡像倉庫下載。

希望通過這篇文章可以大大提升Rancher國內用戶的離線安裝體驗,如果有任何Rancher相關的經驗分享或是使用疑問歡迎掃描文末二維碼加入技術交流羣,和各位Rancher用戶一起交流。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章