跳至主要内容

在不升級 Rancher 的情況下升級 Kubernetes

RKE1 生命週期終止

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 後設資料,可以使用手動刷新操作:

  1. 在左上角,點擊 ☰ > Cluster Management。
  2. 在左側導覽選單中,點擊 Drivers。
  3. 點擊 Refresh Kubernetes Metadata。

您可以透過將 refresh-interval-minutes 設定為 0(見下文)來設定 Rancher 僅在需要時刷新後設資料,並在需要時使用此按鈕手動執行後設資料刷新。

設定後設資料同步​

警告

只有管理員可以變更這些設定。

RKE 後設資料設定控制 Rancher 同步後設資料的頻率以及從何處下載資料。您可以從 Rancher UI 中的設定來設定後設資料,或透過 Rancher API 在端點 v3/settings/rke-metadata-config 進行設定。

後設資料的設定方式取決於 Rancher 版本。

若要在 Rancher 中編輯後設資料設定:

  1. 在左上角,點擊 ☰ > Global Settings。
  2. 前往 rke-metadata-config 區段。點擊 ⋮ > Edit Setting。
  3. 您可以選擇性地填寫以下參數:
  • 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。
  1. 點擊 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 系統映像並為它們準備私有容器映像登錄檔。

若要下載私有登錄檔的系統映像:

  1. 點擊左上角的 ☰。
  2. 在左側導覽的底部,點擊 Rancher 版本號碼。
  3. 下載 Linux 或 Windows 的作業系統特定映像清單。
  4. 下載 rancher-images.txt。
  5. 使用氣隙安裝期間相同的步驟準備私有登錄檔,但不要使用發布頁面中的 rancher-images.txt,而是使用從先前步驟中取得的檔案。

**結果:**Rancher 的氣隙安裝現在可以同步 Kubernetes 後設資料。如果您在發布新版本的 Kubernetes 時更新私有登錄檔,您可以使用新版本佈建叢集,而無需升級 Rancher。