Rancher 2.4實現零宕機升級集羣,無需擔心組件出現短暫故障!

在瞬息萬變的技術世界中,爲用戶提供持續不斷、快速的創新至關重要。Kubernetes是一個極佳引擎,可以在雲端、本地以及邊緣驅動創新。因此,Kubernetes及其整個生態系統本身迭代十分迅速,讓Kubernetes保持最新狀態以確保安全和新功能的使用對於任何部署來說都至關重要。

什麼是零宕機升級集羣

Rancher 2.4已於上週GA,在Rancher 2.4中,我們正式引入了零宕機集羣升級功能。通俗來說,這個功能可以讓你在飛機飛行過程中更換引擎,而不受任何干擾。開發人員可以繼續將應用程序部署到集羣,用戶也可以繼續使用服務而不會受到干擾。與此同時,與Rancher的OOB (out of band)Kubernetes更新結合使用之後,集羣operator可以在已發佈版本的數小時內安全地發佈維護和安全更新。

在Rancher之前的版本中,RKE首先升級etcd節點,並且注意不中斷quorum。然後Rancher立刻迅速升級所有控制平面的節點,最後所有worker節點也會馬上升級。這導致API和工作負載可用性會出現短暫故障。此外,一旦控制平面更新,Rancher便將集羣狀態視爲“active”,使得operator可能不知道工作節點依舊在升級中。

在Rancher 2.4中,我們優化了整個升級流程以保證CI/CD流水線的正常交付和工作負載持續爲流量提供服務。在整個過程中,Rancher會以更新狀態查看集羣,這使operator可以快速看到集羣中正在發生的某些事情。

Rancher依舊先從ectd節點開始升級,一次升級一個節點,並且注意不破壞quorum。作爲額外的預防措施,operator會在升級前對etcd和Kubernetes配置進行快照。並且如果你需要回滾,整個集羣可以恢復到升級前的狀態。

如你所知,部署應用程序到集羣需要Kubernetes API可用。在Rancher 2.4中,Kubernetes控制平面節點也會一次升級一個。第一臺server將會 offline、升級然後放回集羣。接下來,僅當之前的節點報告其狀態爲健康時,控制平面節點纔會開始升級。這一行爲保證了API在升級過程中始終響應請求。

Rancher 2.4節點升級的兩大更改

集羣上的大多數活動發生在worker節點上。在Rancher 2.4中,節點的升級方式發生了兩個重大變化。第一個是可以設置單次升級worker節點的數量。對於傳統的方法或者較小的集羣,operator可以一次只選擇一個節點進行升級。對於較大集羣的operator而言,可以調整設置以升級更大的批處理規模。該選項在風險和時間之間取得平衡,並提供了最大的靈活性。第二個更改是operator可以在worker節點升級前選擇消耗工作負載。首先驅逐節點可以最大程度地減少Pod重新啓動對Kubernetes次要版本升級的影響。

諸如CoreDNS、NGINX Ingress和CNI驅動程序之類的附加服務與worker節點同步更新。Rancher 2.4公開了每種附加部署類型的升級策略,這使得附加升級可以使用原生Kubernetes可用性結構。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章