在Rancher 2.3以前,Rancher的新版本老是隨着Kubernetes的新版本一塊兒發佈,若是你想要使用最新版本的Kubernetes,那麼你須要先升級Rancher才能使用。Rancher 2.3改變了這一模式——如今,能夠爲可用的Kubernetes版本更新元數據存儲,從而使Rancher服務器的升級過程與Kubernetes集羣的升級過程解耦。
安全
關於發行版的版本控制在Kubernetes文檔中已經有詳細的介紹,值得一提的是,每一個Kubernetes的版本都遵循X.Y.Z的格式:服務器
X=主要版本ide
Y=次要版本測試
Kubernetes社區大體每三個月會發佈一個次要版本(1.14->1.15),這些發行的版本會更新許多所需功能以及改進。儘管被標記爲「次要版本」,但這些版本依舊十分重要!優化
補丁版本(1.15.1->1.15.2)的更新會更加頻繁而且十分重要,由於它們包含了及其重要的安全性和適用於最新次要版本的bug修復。它們解決了:版本控制
安全漏洞code
修復影響大部分用戶沒法解決的問題server
Kubernetes官方但願集羣將「合理地」更新到生產環境中,而且「大體」運行的是最新補丁版本。他們能夠同時發佈三個次要版本。這一切意味着,若是你的Kubernetes版本在最新版本後面有一些補丁版本,此時若是你想知道「什麼時候纔是升級集羣的最佳時機」,那麼答案多是儘早升級以確保集羣安全可靠。若是你的Kubernetes版本後面有幾個次要版本,那麼答案是在升級路徑變得困難以前,應該如今就升級。blog
而Rancher努力經過實現「一鍵升級」以使這一過程變得簡單和易於管理。在Rancher 2.3以前,Rancher的新版本始終適配Kubernetes最新的補丁版本。重要的安全修復已移植到新發布的版本,所以Rancher升級後便可使用Kubernetes新的補丁版本。
文檔
在Rancher 2.3以前的版本中,將Rancher啓動的集羣升級到最新版本的Kubernetes須要兩個步驟:
一、 升級Rancher server
二、 在下游集羣中升級Kubernetes版本
如今,一切都不同了。在Rancher 2.3中,你能夠直接升級Kubernetes集羣到最新版本,而且無需升級Rancher。由於,在Rancher 2.3中解耦了Rancher中的Kubernetes元數據。
Rancher部署的集羣運行RKE,這是Rancher的一款開源的Kubernetes發行版,它可讓你在任意地方運行Docker。在Rancher 2.3以前,啓動不一樣Kubernetes版本的信息存儲在不一樣的地方。這個數據與代碼庫中的數據接近,所以更新任一值都須要發佈一個新的Rancher版本。沒有一個位置可讓系統訪問須要傳遞給集羣的值。Rancher 2.3重構了整個方法以知足如下需求:
將Kubernetes元數據持續交付給兼容的Rancher server
清晰地將全部元數據組件映射到Kubernetes版本
能夠從Rancher API輕鬆訪問全部內容
離線設置的可用性和支持路徑
請注意:Kubernetes API會在兩個次要版本之間更改,所以升級次要版本不必定能成功。例如,在Kubernetes 1.15中 API發生了重大更改,而在你的Rancher server中支持的最高版本是Kubernetes 1.14,若是此時你想要升級Kubernetes到1.15版本的話,須要升級Rancher以支持Kubernetes 1.15。
Rancher按期同步和下載元數據,這些數據不能直接從UI中獲取,可是用戶能夠在API裏查看。
RKE元數據配置決定了Rancher同步元數據的頻率以及下載數據的位置。你能夠從UI的【設置】下找到,也能夠經過API的/v3/settings/rke-metadata-config
這個路徑獲取。它包括如下選項:
固然,你也能夠選擇手動更新,操做地址在右上角:Tools > Drivers > Refresh Kubernetes Metadata。對於離線設置,能夠選擇將URL配置複製到默認的Rancher元數據存儲庫。你也能夠下載包含所需系統鏡像的文件,只需點擊Rancher UI左下角的Rancher版本便可下載。
運做方式以下:
Rancher v2.3.0一開始默承認選擇如下Kubernetes版本:
Kubernetes發佈了1.15.5版本,修復了一個重要的CVE,而咱們目前的版本1.15.4受到安全漏洞的影響。
Rancher測試團隊會測試新版本,讓其能夠在Rancher中使用。用戶僅需經過選擇Tools > Drivers > Refresh Kubernetes Metadata便可更新元數據。
最新的Kubernetes版本(1.14.八、1.15.5和1.16.2)如今在同一個Rancher版本(v2.3.0)中可使用。
經過這一更改,你能夠按計劃保證集羣處於最新狀態,而與Rancher發佈Rancher server新版本的時間無關。
Rancher一貫致力於讓Kubernetes的各個方面都變得簡單,而且咱們將繼續添加更多功能以及進行更多優化,咱們但願收到你的反饋!