日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

当Kubernetes应用遇到阿里分批发布模式

發布時間:2024/8/23 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 当Kubernetes应用遇到阿里分批发布模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于熟悉Kubernetes的用戶來說,應該知道當你的應用程序一旦部署到Kubernetes以后,Kubernetes能夠自動幫你管理應用程序,當Pod發生故障后可以自動調度重建,確保服務的持續可用。但Kubernetes的原生發布策略難以滿足生產級別的發布要求。 本文將介紹一種在阿里巴巴常用的應用發布模式:分批發布,以及在云效是如何在Kubernetes是如何實現這種發布模式的。

Kubernetes的滾動升級

Kubernetes的RollingUpdate(滾動更新)是Kubernetes提供的原生服務升級策略。意圖通過該方式在不停止對外服務的前提下完成對應用的更新。

在原生RollUpdate中用戶可以設置升級策略,如maxSurge和maxUnavailable控制Pod啟動策略以及最大不可用Pod數,來確??梢訮od能夠在滾動升級中不出現沒有可用Pod的情況。

對于Kubernetes老手來說,肯定也會加上livenessProbe與readinessProbe探針,來確認服務是否可用。

但是,理想總是豐滿,現實總是骨干。在現實的發布過程中,服務升級成功了鏡像也啟動成功了。 但是并不意味著你這次的“發布”完成了。

關注持續交付領域的朋友,可能會聽過各種發布策略,比如藍綠發布、灰度發布等等。 這些發布策略,尋根溯本,都是為了將部署與發布進行分離,在服務真正上線之前能夠有人工介入的機會確保這次升級是是真正的滿足業務需求的。

阿里巴巴分批發布模式

分批發布是在阿里巴巴內部大量使用的一種服務發布上線方式。分批發布簡單來說就是按照一定的批次,每次只對服務的一部分實例進行升級。

分批發布一個很重要的動作就是暫停,在暫停后,用戶可以手動對新升級的實例進行驗證,如果確認一切無誤后,再繼續后批次服務實例的升級動作。

分批發布的重要的意義在于提供了人工或自動(無人值守發布)介入發布過程驗證的功能,以及一旦發現問題快速回滾的能力。

在Kubernetes上實現分批發布

在Kubernetes的應用模型中,Pod和Pod之間一般不進行直接的通訊,所有內部應用之間的流量或者集群外部的流量都需要通過一個單獨的Serviec對象。

在云效的部署模型中,我們將Service抽象為一個部署的目標應用。 在執行分批發布過程中,我們會自動為當前Service關聯的Deployment對象創建一個新版本的副本。用戶可以為整個分批發布過程中定義一個執行批次。

如下所示,在分批發布過程中,云效通過控制當前版本以及新版本Deployment對象的副本數,來控制不同版本Pod的實例數:

在第一批發布完成后,整個過程將會自動暫停。 此時,用戶可以直接到集群中對部署結果進行驗證,在驗證無誤的情況下確認是否繼續后續的發布過程,而如果用戶判斷發布存在異常,則可以直接對整個發布過程進行回滾,應用自動回滾到發布前狀態:

在整個分批發布過程中為了確保Service流量不會進行到啟動中的Pod實例,結合使用LivenessProbe和ReadinessProbe可以確保整個發布過程中服務的持續可用。

使用Istio增強分批發布發布能力

在Kubernetes原生的Service負載均衡實現中,其通過iptable實現從ClusterIP到PodIP的流量路由,其中利用了iptables的--probability的特性來實現分流。

在上面的例子中,如果分批發布為2批,那么新版和舊版Pod會各有50%左右的流量進入。在基于原生Kubernetes的分批發布策略中可以通過增加應用的副本數(Replicas)來控制新版本和舊版本之間的流量比例。

而云效的分批發布策略對于已經使用Istio的用戶,則可以輕松實現更精細化的流量控制規則。云效在發布過程中會自動為Deployment實例添加版本標簽。

基于版本標簽,Istio用戶可以通過RouteRule輕松控制不同版本之間的流量比例或者是基于Cookie直接實現AB Test的能力。

當然,后續云效會直接將這部分能力集成到整個流水線過程中,讓整個過程變的更加順滑。

?

原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。

總結

以上是生活随笔為你收集整理的当Kubernetes应用遇到阿里分批发布模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。