在不升級 Rancher 的情況下升級 Kubernetes
RKE1 已達到生命週期終止,不再受支援。對於新部署,請使用 RKE2 或 K3s。
RKE 後設資料功能允許您在新版本的 Kubernetes 發布後立即使用它們來佈建叢集,而無需升級 Rancher。此功能對於利用 Kubernetes 的修補程式版本很有用,例如,如果您想升級到 Kubernetes v1.14.7,而您的 Rancher 伺服器最初支援 v1.14.6。
Kubernetes API 可能在次要版本之間發生變化。因此,我們不支援引入次要 Kubernetes 版本,例如當 Rancher 目前支援 v1.14 時引入 v1.15。您需要升級 Rancher 才能新增對次要 Kubernetes 版本的支援。
Rancher 的 Kubernetes 後設資料包含 Rancher 用於佈建 RKE 叢集的 Kubernetes 版本的特定資訊。Rancher 會定期同步資料,並為系統映像、服務選項和附加元件範本建立自訂資源定義 (CRD)。因此,當新的 Kubernetes 版本與 Rancher 伺服器版本相容時,Kubernetes 後設資料會使新版本可供 Rancher 用於佈建叢集。後設資料為您提供了 Rancher Kubernetes Engine (RKE) 用於部署各種 Kubernetes 版本的資訊概覽。
下表描述了受定期資料同步影響的 CRD。
只有管理員可以編輯後設資料 CRD。除非明確建議,否則不建議更新現有物件。
| 資源 | 描述 | Rancher API URL |
|---|---|---|
| System Images | 用於透過 RKE 部署 Kubernetes 的系統映像清單。 | <RANCHER_SERVER_URL>/v3/rkek8ssystemimages |
| Service Options | 傳遞給 Kubernetes 元件(如 kube-api、scheduler、kubelet、kube-proxy 和 kube-controller-manager)的預設選項 | <RANCHER_SERVER_URL>/v3/rkek8sserviceoptions |
| Addon Templates | 用於部署附加元件(如 Canal、Calico、Flannel、Weave、Kube-dns、CoreDNS、metrics-server、nginx-ingress)的 YAML 定義 | <RANCHER_SERVER_URL>/v3/rkeaddons |
管理員可能會設定 RKE 後設資料設定以執行以下操作:
- 刷新 Kubernetes 後設資料,如果新的 Kubernetes 修補程式版本發布,並且他們希望 Rancher 使用最新版本的 Kubernetes 佈建叢集,而無需升級 Rancher
- 變更 Rancher 用於同步後設資料的後設資料 URL,這對於氣隙設定很有用,如果您需要在本地同步 Rancher 而不是與 GitHub 同步
- 防止 Rancher 自動同步後設資料,這是防止新的和不受支援的 Kubernetes 版本在 Rancher 中可用的一種方法
刷新 Kubernetes 後設資料
預設情況下,管理員可以刷新 Kubernetes 後設資料的選項,或對於擁有 Manage Cluster Drivers 全域角色的任何使用者也可以使用。
若要強制 Rancher 刷新 Kubernetes 後設資料,可以使用手動刷新操作:
- 在左上角,點擊 ☰ > Cluster Management。
- 在左側導覽選單中,點擊 Drivers。
- 點擊 Refresh Kubernetes Metadata。
您可以透過將 refresh-interval-minutes 設定為 0(見下文)來設定 Rancher 僅在需要時刷新後設資料,並在需要時使用此按鈕手動執行後設資料刷新。
設定後設資料同步
只有管理員可以變更這些設定。
RKE 後設資料設定控制 Rancher 同步後設資料的頻率以及從何處下載資料。您可以從 Rancher UI 中的設定來設定後設資料,或透過 Rancher API 在端點 v3/settings/rke-metadata-config 進行設定。
後設資料的設定方式取決於 Rancher 版本。
若要在 Rancher 中編輯後設資料設定:
- 在左上角,點擊 ☰ > Global Settings。
- 前往 rke-metadata-config 區段。點擊 ⋮ > Edit Setting。
- 您可以選擇性地填寫以下參數:
refresh-interval-minutes:這是 Rancher 等待同步後設資料的時間量。若要停用定期刷新,請將refresh-interval-minutes設定為 0。url:這是 Rancher 從中擷取資料的 HTTP 路徑。路徑必須是 JSON 檔案的直接路徑。例如,Rancher v2.4 的預設 URL 是https://releases.rancher.com/kontainer-driver-metadata/release-v2.4/data.json。
- 點擊 Save。
如果您沒有氣隙設定,則不需要指定 Rancher 取得後設資料的 URL,因為預設設定是從 Rancher 的後設資料 Git 儲存庫中提取。
但是,如果您有氣隙設定,您將需要在 Rancher 可用的位置鏡像 Kubernetes 後設資料儲存庫。然 後您需要變更 URL 以指向 JSON 檔案的新位置。
氣隙設定
Rancher 依賴於定期刷新 rke-metadata-config 來下載新的 Kubernetes 版本後設資料,如果它受目前版本的 Rancher 伺服器支援。有關相容的 Kubernetes 和 Rancher 版本的表格,請參閱服務條款章節。
如果您有氣隙設定,您可能無法從 Rancher 的 Git 儲存庫取得 Kubernetes 後設資料的自動定期刷新。在這種情況下,您應該停用定期刷新以防止您的日誌顯示錯誤。或者,您可以設定後設資料設定,以便 Rancher 可以與 RKE 後設資料的本地副本同步。
若要將 Rancher 與 RKE 後設資料的本地鏡像同步,管理員將設定 rke-metadata-config 設定以指向鏡像。有關詳細資訊,請參閱設定後設資料同步。
將新的 Kubernetes 版本載入到 Rancher 設定後,需要額外的步驟才能使用它們來啟動叢集。Rancher 需要存取更新的系統映像。雖然後設資料設定只能由管理員變更,但任何使用者都可以下載 Rancher 系統映像並為它們準備私有容器映像登錄檔。
若要下載私有登錄檔的系統映像:
- 點擊左上角的 ☰。
- 在左側導覽的底部,點擊 Rancher 版本號碼。
- 下載 Linux 或 Windows 的作業系統特定映像清單。
- 下載
rancher-images.txt。 - 使用氣隙安裝期間相同的步驟準備私有登錄檔,但不要使用發布頁面中的
rancher-images.txt,而是使用從先前步驟中取得的檔案。
**結果:**Rancher 的氣隙安裝現在可以同步 Kubernetes 後設資料。如果您在發布新版本的 Kubernetes 時更新私有登錄檔,您可以使用新版本佈建叢集,而無需升級 Rancher。