跳至主要内容

2. 收集並發布映像檔到您的私有鏡像倉庫

本節說明如何設定您的私有鏡像倉庫,以便在安裝 Rancher 時,Rancher 將從此鏡像倉庫提取所有必需的映像檔。

預設情況下,用於佈建 Kubernetes 叢集或在 Rancher 中啟動任何工具(例如監控、管道、告警)的所有映像檔都是從 Docker Hub 提取的。在 Rancher 的離線安裝中,您需要一個可被 Rancher 伺服器存取的私有鏡像倉庫。然後,您將使用所有映像檔載入鏡像倉庫。

使用 Docker 安裝 Rancher 和在 Kubernetes 叢集上安裝 Rancher 填充私有鏡像倉庫的過程是相同的。

本節中的步驟會根據您是否計劃使用 Rancher 佈建帶有 Windows 節點的下游叢集而有所不同。預設情況下,我們假設 Rancher 將僅使用 Linux 節點佈建下游 Kubernetes 叢集來提供填充私有鏡像倉庫的步驟。但是,如果您計劃使用 Windows 節點佈建任何下游 Kubernetes 叢集,則有單獨的說明來支援所需的映像檔。

先決條件:

您必須有可用的私有鏡像倉庫。

如果鏡像倉庫有憑證,請遵循此 K3s 文件有關新增私有鏡像倉庫的說明。憑證和鏡像倉庫設定檔案需要掛載到 Rancher 容器中。

對於僅佈建 Linux 叢集的 Rancher 伺服器,這些是填充私有鏡像倉庫的步驟。

  1. 尋找您的 Rancher 版本所需的資源
  2. 收集 cert-manager 映像檔(除非您自備憑證或在負載平衡器上終止 TLS)
  3. 將映像檔儲存到您的工作站
  4. 填充私有鏡像倉庫

先決條件​

這些步驟假設您使用可存取網際網路、可存取私有鏡像倉庫且至少有 20 GB 磁碟空間的 Linux 工作站。

如果您將使用 ARM64 主機,鏡像倉庫必須支援清單。截至 2020 年 4 月,Amazon Elastic Container Registry 不支援清單。

1. 尋找您的 Rancher 版本所需的資源​

  1. 前往我們的發布頁面,找到您想要安裝的 Rancher v2.x.x 版本,然後點擊 Assets。注意:不要使用標記為 rc 或 Pre-release 的版本,因為它們對於生產環境不穩定。

  2. 從發布的 Assets 部分,下載以下檔案,這些檔案是在離線環境中安裝 Rancher 所必需的:

發布檔案說明
rancher-images.txt此檔案包含安裝 Rancher、佈建叢集和使用 Rancher 工具所需的映像檔清單。
rancher-save-images.sh此腳本從 Docker Hub 提取 rancher-images.txt 中的所有映像檔,並將所有映像檔儲存為 rancher-images.tar.gz。
rancher-load-images.sh此腳本從 rancher-images.tar.gz 檔案載入映像檔並將它們推送到您的私有鏡像倉庫。

2. 收集 cert-manager 映像檔​

備註

如果您使用自己的憑證,或者在外部負載平衡器上終止 TLS,請跳過此步驟。

在 Kubernetes 安裝中,如果您選擇使用 Rancher 預設的自簽 TLS 憑證,您還必須將 cert-manager 映像檔新增到 rancher-images.txt。

  1. 取得最新的 cert-manager Helm chart 並解析範本以取得映像檔詳細資訊:

    備註

    cert-manager 最近的變更需要升級。如果您正在升級 Rancher 並使用早於 v0.12.0 的 cert-manager 版本,請參閱我們的升級文件。

    helm repo add jetstack https://charts.jetstack.io
    helm repo update
    helm fetch jetstack/cert-manager
    helm template ./cert-manager-<version>.tgz | awk '$1 ~ /image:/ {print $2}' | sed s/\"//g >> ./rancher-images.txt
  2. 排序並去除映像檔清單的重複項以移除來源之間的任何重疊:

    sort -u rancher-images.txt -o rancher-images.txt

3. 將映像檔儲存到您的工作站​

  1. 將 rancher-save-images.sh 設為可執行檔:

    chmod +x rancher-save-images.sh
  2. 使用 rancher-images.txt 映像檔清單執行 rancher-save-images.sh 以建立所有必需映像檔的 tarball:

    ./rancher-save-images.sh --image-list ./rancher-images.txt

    結果: Docker 開始提取用於離線安裝的映像檔。請耐心等待。此過程需要幾分鐘。當過程完成時,您當前的目錄將輸出名為 rancher-images.tar.gz 的 tarball。檢查輸出是否在目錄中。

4. 填充私有鏡像倉庫​

接下來,您將使用腳本載入映像檔,將 rancher-images.tar.gz 中的映像檔移動到您的私有鏡像倉庫。

使用腳本載入映像檔,將 rancher-images.tar.gz 中的映像檔移動到您的私有鏡像倉庫。

rancher-images.txt 預期位於您執行 rancher-load-images.sh 腳本的同一目錄中的工作站上。rancher-images.tar.gz 也應該在同一目錄中。

  1. 如果需要,請登入您的私有鏡像倉庫:
docker login <REGISTRY.YOURDOMAIN.COM:PORT>
  1. 將 rancher-load-images.sh 設為可執行檔:
chmod +x rancher-load-images.sh
  1. 使用 rancher-load-images.sh 提取、標記並將 rancher-images.txt 和 rancher-images.tar.gz 推送到您的私有鏡像倉庫:
./rancher-load-images.sh --image-list ./rancher-images.txt --registry <REGISTRY.YOURDOMAIN.COM:PORT>

Kubernetes 安裝的下一步 - 啟動 Kubernetes 叢集​

Docker 安裝的下一步 - 安裝 Rancher​