跳至主要内容

回滾使用 Docker 安裝的 Rancher

Docker 安裝支援

Docker 安裝僅支援開發和測試環境。對於生產環境,請在 Kubernetes 叢集上安裝 Rancher。

如果 Rancher 升級未成功完成,您必須回滾到 Docker 升級之前使用的 Rancher 設定。回滾會還原:

  • 您先前版本的 Rancher。
  • 您在升級前建立的資料備份。

開始之前​

在回滾到先前版本的 Rancher 期間,您將輸入一系列指令,並使用來自您環境的資料填入佔位符。這些佔位符以角括號和全部大寫字母表示(<EXAMPLE>)。以下是包含佔位符的指令範例:

docker pull rancher/rancher:<PRIOR_RANCHER_VERSION>

在此指令中,<PRIOR_RANCHER_VERSION> 是您在升級失敗之前執行的 Rancher 版本。例如 v2.0.5。

參照下方的圖片和參考表以了解如何取得此佔位符資料。在開始以下程序之前,請記下或複製此資訊。

終端機 docker ps 指令,顯示在哪裡找到 <PRIOR_RANCHER_VERSION> 和 <RANCHER_CONTAINER_NAME>Placeholder Reference

佔位符範例描述
<PRIOR_RANCHER_VERSION>v2.0.5您在升級前使用的 rancher/rancher 映像。
<RANCHER_CONTAINER_NAME>festive_mestorf您的 Rancher 容器的名稱。
<RANCHER_VERSION>v2.0.5備份所屬的 Rancher 版本。
<DATE>9-27-18建立資料容器或備份的日期。

您可以透過遠端連線登入 Rancher 伺服器並輸入檢視正在執行的容器的指令來取得 <PRIOR_RANCHER_VERSION> 和 <RANCHER_CONTAINER_NAME>:docker ps。您也可以使用不同的指令檢視已停止的容器:docker ps -a。在建立備份時,隨時使用這些指令來獲得幫助。

回滾 Rancher​

如果您在升級 Rancher 時遇到問題,請拉取您上次使用的版本,然後還原升級前建立的備份,將其回滾到最後已知的健康狀態。

危險

回滾到先前版本的 Rancher 會銷毀升級後對 Rancher 所做的任何變更。可能會發生無法復原的資料遺失。

  1. 使用遠端終端機連線,登入執行 Rancher 伺服器的節點。

  2. 拉取您在升級前執行的 Rancher 版本。將 <PRIOR_RANCHER_VERSION> 替換為該版本。

    例如,如果您在升級前執行的是 Rancher v2.0.5,請拉取 v2.0.5。

    docker pull rancher/rancher:<PRIOR_RANCHER_VERSION>
  3. 停止目前執行 Rancher 伺服器的容器。將 <RANCHER_CONTAINER_NAME> 替換為您的 Rancher 容器的名稱。

    docker stop <RANCHER_CONTAINER_NAME>

    您可以透過輸入 docker ps 來取得 Rancher 容器的名稱。

  4. 將您在完成 Docker 升級期間建立的備份 tarball 移至您的 Rancher 伺服器。切換到您移動它的目錄。輸入 dir 以確認它在那裡。

    如果您遵循我們在 Docker 升級中建議的命名慣例,它將具有類似的名稱(rancher-data-backup-<RANCHER_VERSION>-<DATE>.tar.gz)。

  5. 執行以下指令以使用備份 tarball 中的資料替換 rancher-data 容器中的資料,並替換佔位符。不要忘記關閉引號。

    docker run  --volumes-from rancher-data \
    -v $PWD:/backup busybox sh -c "rm /var/lib/rancher/* -rf \
    && tar zxvf /backup/rancher-data-backup-<RANCHER_VERSION>-<DATE>.tar.gz"
  6. 使用 <PRIOR_RANCHER_VERSION> 標籤佔位符啟動新的 Rancher 伺服器容器,指向資料容器。

    docker run -d --volumes-from rancher-data \
    --restart=unless-stopped \
    -p 80:80 -p 443:443 \
    --privileged \
    rancher/rancher:<PRIOR_RANCHER_VERSION>

    必須使用特權存取。

    危險

    不要在啟動回滾後停止回滾,即使回滾過程似乎比預期的時間長。停止回滾可能會導致未來升級期間出現資料庫問題。

  7. 等待片刻,然後在網頁瀏覽器中開啟 Rancher。確認回滾成功且您的資料已還原。

結果: Rancher 回滾到升級前的版本和資料狀態。