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可能不知道工做節點依舊在升級中。server

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

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次要版本升級的影響。get

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

相關文章
相關標籤/搜索