升級
以下說明將引導您升級使用 Helm 在 Kubernetes 叢集上安裝的 Rancher 伺服器。這些步驟也適用於使用 Helm 進行的離線安裝。
有關升級使用 Docker 安裝的 Rancher 的說明,請參閱此頁面。
前置條件
存取 Kubeconfig
Helm 應該從與 Kubeconfig 檔案相同的位置執行,或從執行 kubectl 命令的相同位置執行。
如果您使用 RKE2/K3s 安裝 Kubernetes,Kubeconfig 會儲存在 /etc/rancher/rke2/rke2.yaml 或 /etc/rancher/k3s/k3s.yaml 目錄中,具體取決於您選擇的發行版。
Kubeconfig 也可以使用 --kubeconfig 標籤手動定位到預期的叢集(請參閱:https://helm.sh/docs/helm/helm/)
檢閱已知問題
檢閱每個 Rancher 版本的已知問題清單,可以在 GitHub 上的發布說明和 Rancher 論壇中找到。
請注意,不支援升級_到_或_從_ rancher-alpha repository 中的任何 chart。
Helm 版本
升級說明假設您使用的是 Helm 3。
不再支援 Helm 2。請改用 Helm 3。
對於使用 Helm 2 開始的安裝遷移,請參閱官方 Helm 2 到 3 遷移文件。這裡的 Helm 2 升級頁面提供了使用 Helm 2 的舊升級說明的副本,如果升級到 Helm 3 不可行,則可以使用它。
對於離線安裝:填充私有 registry
僅對於離線安裝,收集並填充新 Rancher 伺服器版本的映像。按照指南填充您的私有 registry,使用您想要升級到的 Rancher 版本的映像。
對於使用早於 0.8.0 的 cert-manager 進行升級
Let's Encrypt 將從 2019 年 11 月 1 日開始封鎖早於 0.8.0 的 cert-manager 實例。按照這些說明升級 cert-manager 到最新版本。
升級大綱
按照以下步驟升級 Rancher 伺服器:
1. 備份執行 Rancher Server 的 Kubernetes 叢集
使用備份應用程式備份 Rancher。
如果升級過程中出現問題,您將使用備份作為還原點。
2. 更新 Helm chart repository
-
更新您的本地 Helm repo 快取。
helm repo update -
取得您用於安裝 Rancher 的 repository 名稱。
有關 repo 及其差異的資訊,請參閱 Helm Chart Repository。
- Latest:建議用於試用最新功能
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest - Stable:建議用於生產 環境
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable - Alpha:即將發布版本的實驗性預覽。
注意:不支援升級到 Alpha、從 Alpha 升級或在 Alpha 之間升級。
helm repo add rancher-alpha https://releases.rancher.com/server-charts/alpha
helm repo list
NAME URL
stable https://charts.helm.sh/stable
rancher-<CHART_REPO> https://releases.rancher.com/server-charts/<CHART_REPO>備註如果您想切換到不同的 Helm chart repository,請按照如何切換 repository 的步驟操作。如果您切換 repository,請在繼續執行步驟 3 之前再次列出 repository,以確保您已新增正確的 repository。
- Latest:建議用於試用最新功能
-
從 Helm chart repository 取得最新的 chart 以安裝 Rancher。
此命令將拉取最新的 chart 並將其儲存在目前目錄中作為
.tgz檔案。helm fetch rancher-<CHART_REPO>/rancher您可以透過新增
--version=標籤來取得要升級到的特定版本的 chart。例如:helm fetch rancher-<CHART_REPO>/rancher --version=2.6.8
3. 升級 Rancher
本節描述如何使用 Helm 升級正常(連接網際網路)或離線安裝的 Rancher。
如果您在離線環境中安裝 Rancher,請跳過本頁面的其餘部分,並按照此頁面上的說明呈現 Helm 模板。
從目前安裝的 Rancher Helm chart 取得使用 --set 傳遞的值。
helm get values rancher -n cattle-system
hostname: rancher.my.org
此命令將列出更多值。這只是其中一個值的範例。
您的部署名稱可能會有所不同;例如,如果您透過 AWS Marketplace 部署 Rancher,部署名稱是 'rancher-stable'。 因此:
helm get values rancher-stable -n cattle-system
hostname: rancher.my.org
如果您要從 v1.5 或更低版本升級 cert-manager 到最新版本,請按照 cert-manager 升級文件了解如何在不需要解除安裝或重新安裝 Rancher 的情況下升級 cert-manager。否則,請按照下面的升級 Rancher 的步驟操作。
升級 Rancher 的步驟
使用所有設定將 Rancher 升級到最新版本。
取得上一步驟中的所有值,並使用 --set key=value 將它們附加到命令中。
helm upgrade rancher rancher-<CHART_REPO>/rancher \
--namespace cattle-system \
--set hostname=rancher.my.org
以上只是一個範例,上一步驟可能有更多值需要附加。
如果您透過 AWS Marketplace 部署 Rancher,部署名稱是 'rancher-stable'。 因此:
helm upgrade rancher-stable rancher-<CHART_REPO>/rancher \
--namespace cattle-system \
--set hostname=rancher.my.org
或者,可以將目前值匯出到檔案並在升級期間參考該檔案。例如,僅變更 Rancher 版本:
-
將目前值匯出到檔案:
helm get values rancher -n cattle-system -o yaml > values.yaml -
僅更新 Rancher 版本:
helm upgrade rancher rancher-<CHART_REPO>/rancher \
--namespace cattle-system \
-f values.yaml \
--version=2.6.8
4. 驗證升級
登入 Rancher 以確認升級成功。
升級後遇到網路問題?
請參閱還原叢集網路。
已知升級問題
每個 Rancher 版本的已知問題清單可以在 GitHub 上的發布說明和 Rancher 論壇中找到。