日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

六種不同類型的K8s部署策略總結

來源: 責編: 時間:2024-01-02 17:27:53 203觀看
導讀在這篇文章中,我們將深入研究 Kubernetes 部署概念和一些常見策略,了解每種策略的優缺點。合適的部署策略使我們能夠在發布應用程序時最大限度地減少停機時間、增強客戶體驗并提高可靠性。什么是 Kubernetes 部署策略?Ku

在這篇文章中,我們將深入研究 Kubernetes 部署概念和一些常見策略,了解每種策略的優缺點。合適的部署策略使我們能夠在發布應用程序時最大限度地減少停機時間、增強客戶體驗并提高可靠性。Fjh28資訊網——每日最新資訊28at.com

什么是 Kubernetes 部署策略?

Kubernetes 部署是一種聲明性語句,通常在 YAML 文件中配置,用于定義應用程序生命周期以及如何管理對該應用程序的更新。Fjh28資訊網——每日最新資訊28at.com

當將應用程序部署到 K8s 集群時,所選擇的部署策略將決定如何將應用程序從舊版本更新到新版本。某些策略可能會導致停機時間,而其他策略則可能引入測試概念并允許用戶分析。本文將介紹兩種常用的基本 K8s 部署策略:Fjh28資訊網——每日最新資訊28at.com

  • 重新創建(Recreating)
  • 滾動更新(Rolling)

以下策略被認為是“高級部署策略”,因為可以以多種方式控制流量的流向:Fjh28資訊網——每日最新資訊28at.com

  • 藍/綠(Blue/Green)
  • 金絲雀(Canary)
  • A/B
  • 影子部署(Shadow Deployment)

K8s 使用滾動更新策略作為默認策略,但在某些情況下可能不適用。讓我們詳細討論每種策略!Fjh28資訊網——每日最新資訊28at.com

1. 重新創建部署

重新創建部署會終止所有的 Pod,并用新版本的 Pod 替換它們。這在舊版本和新版本的應用程序不能同時運行的情況下很有用。使用此策略產生的停機時間取決于應用程序關閉和啟動所需的時間。由于完全替換,應用程序狀態也會完全更新。Fjh28資訊網——每日最新資訊28at.com

示例如下,type=Recreate表示為重新創建Fjh28資訊網——每日最新資訊28at.com

spec:  replicas: 10  strategy:    type: Recreate

圖片圖片Fjh28資訊網——每日最新資訊28at.com

圖片圖片Fjh28資訊網——每日最新資訊28at.com

2. 滾動更新部署

滾動更新是 K8s 的默認部署方式,旨在減少集群的停機時間。滾動更新會將運行舊版本應用程序的 Pod 逐步替換為新版本,而無需停機。Fjh28資訊網——每日最新資訊28at.com

圖片圖片Fjh28資訊網——每日最新資訊28at.com

為了實現這一點,要使用就緒探針(Readiness probes)Fjh28資訊網——每日最新資訊28at.com

就緒探針監視應用程序何時變為可用狀態。如果探針失敗,流量將不會發送到該 Pod。這些探針用于需要在就緒之前執行部分初始化步驟的應用程序,比如數據庫鏈接、緩存數據初始化,應用的發布注冊等操作。Fjh28資訊網——每日最新資訊28at.com

一旦就緒探針檢測到新版本應用程序可用,舊版本應用程序將被刪除。如果出現問題,可以停止部署并回滾到上一個版本,避免整個集群的停機時間。由于每個 Pod 逐個替換,對于較大的集群,部署需要一定的時間。如果在另一個部署完成之前觸發了新的部署,版本將更新為新部署中指定的版本,并且尚未部署成功的先前部署版本將被忽略。Fjh28資訊網——每日最新資訊28at.com

觸發滾動更新部署的條件是 Pod 規范中的某些更改,例如更新 Pod 的鏡像、環境變量或標簽??梢允褂妹?nbsp;kubectl set image 來更新 Pod 鏡像。Fjh28資訊網——每日最新資訊28at.com

yaml文件的 Spec: -> strategy: 部分可以使用兩個參數來細化部署:maxSurge 和 maxUnavailable。這兩個參數可以指定為百分比或絕對數值。當使用水平 Pod 自動縮放時,應使用百分比。Fjh28資訊網——每日最新資訊28at.com

  • maxSurge 指定部署允許同時創建的最大 Pod 數量。
  • maxUnavailable 指定在部署期間允許不可用的最大 Pod 數量。

例如,下面的配置要求有 10 個副本,最多同時創建 3 個副本,允許在部署期間有 1 個副本不可用:Fjh28資訊網——每日最新資訊28at.com

spec:  replicas: 10  strategy:    type: RollingUpdate    rollingUpdate:      maxSurge: 3      maxUnavailable: 1

3.藍/綠部署

藍/綠部署涉及將新的應用程序版本(綠色)與舊版本(藍色)一起部署。通過服務選擇器對象作為負載均衡器,當新應用程序(綠色)經過測試和驗證后,將流量引導到新應用程序而不是舊應用程序。藍/綠部署可能會造成成本增加,因為在部署期間需要啟動兩倍數量的應用程序資源。Fjh28資訊網——每日最新資訊28at.com

圖片圖片Fjh28資訊網——每日最新資訊28at.com

為了實現這一點,我們需要設置一個在部署之前的服務。例如,對于名為 web-app 的應用程序的 v1.0.0 版本的藍色部署,yaml 文件中的服務選擇器部分可能如下所示:Fjh28資訊網——每日最新資訊28at.com

kind: Servicemetadata: name: web-app-01 labels:   app: web-appselector:   app: web-app   version: v1.0.0

藍色 web-app 的部署如下:Fjh28資訊網——每日最新資訊28at.com

kind: Deploymentmetadata:  name: web-app-01spec:  template:        metadata:           labels:             app: web-app             version: "v1.0.0"

當我們想要將流量引導到應用程序的新(綠色)版本時,我們更新 manifest 文件以指向新版本 v2.0.0。Fjh28資訊網——每日最新資訊28at.com

kind: Servicemetadata: name: web-app-02 labels:   app: web-appselector:   app: web-app   version: v2.0.0

綠色應用程序的部署如下:Fjh28資訊網——每日最新資訊28at.com

kind: Deploymentmetadata:  name: web-app-02spec:  template:        metadata:           labels:             app: web-app             version: "v2.0.0"

4. 影子部署

金絲雀與“影子部署”一詞可以互換使用。Fjh28資訊網——每日最新資訊28at.com

影子部署是一種策略,其中新版本的應用程序與現有的生產版本一起部署,主要用于監控和測試目的。在影子部署中,用戶流量不會主動路由到新版本。這對于測試新功能的生產負載特別有用。Fjh28資訊網——每日最新資訊28at.com

圖片圖片Fjh28資訊網——每日最新資訊28at.com

這種技術比較復雜,需要特殊要求,尤其是出口流量。例如,有一個商品,您想調用支付服務進行影子測試,最終可能會讓客戶為他們的訂單支付兩次,所以復雜性比較高Fjh28資訊網——每日最新資訊28at.com

5. 金絲雀部署

金絲雀部署可用于讓一部分用戶測試應用程序的新版本,或者在對新版本的功能性沒有完全信心時使用。新版本的一個副本與舊版本一起發布,其中舊版本應用程序為大部分用戶提供服務,而新版本應用程序為一小部分測試用戶提供服務。如果新部署成功,則將其逐漸擴展到更多用戶。Fjh28資訊網——每日最新資訊28at.com

圖片圖片Fjh28資訊網——每日最新資訊28at.com

例如,在一個具有 100 個運行的 Pod 的 K8s 集群中,有 95 個運行著應用程序的 v1.0.0 版本,而有 5 個運行著新的 v2.0.0 版本。95% 的用戶將被路由到舊版本,而5% 的用戶將被路由到新版本。為此,我們使用并行的兩個部署,可以分別進行擴展。Fjh28資訊網——每日最新資訊28at.com

舊應用程序的 yaml 文件中的 spec 部分可能如下所示:Fjh28資訊網——每日最新資訊28at.com

spec:  replicas: 95

新應用程序的 yaml 文件中的 spec 部分可能如下所示:Fjh28資訊網——每日最新資訊28at.com

spec:  replicas: 5

在上面的示例中,運行 100 個 Pod 可能是不切實際的。更好的方法是使用負載均衡器,如NGINX、HAProxy或Traefik,或者使用類似Istio、Hashicorp Consul或Linkrd的服務網格,他們可以提供對流量的更好控制。Fjh28資訊網——每日最新資訊28at.com

6. A/B 部署

與金絲雀部署類似,使用 A/B 部署,我們可以基于一些目標參數(通常是 HTTP 標頭或 cookie等)定位給定的用戶,并根據權重在不同版本之間分配流量。這種技術被廣泛用于測試某個特定功能的轉化率,然后選擇轉化率最高的版本進行最終部署。Fjh28資訊網——每日最新資訊28at.com

圖片圖片Fjh28資訊網——每日最新資訊28at.com

這種方法通常基于收集的用戶行為數據,并用于做出更好的業務決策。在 A/B 測試期間,用戶通常不會被告知新功能,以便進行真實的測試,并可以比較使用舊版本和新版本的用戶之間的體驗。由于額外的測試期和用戶體驗分析,使用 A/B 部署進行部署速度可能會較慢。Fjh28資訊網——每日最新資訊28at.com

可以使用 Istio 和 Flagger 自動化進行 A/B 部署。Fjh28資訊網——每日最新資訊28at.com

總結

在本文中,我們討論了6種常見的K8s部署策略。在決定如何部署或升級您的應用程序時,如何使用這些策略,以及使用哪些工具來實現每種策略是非常重要的。Fjh28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-56395-0.html六種不同類型的K8s部署策略總結

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Cython庫:從基本用法到高級用法

下一篇: 用Go實現一個帶緩存的REST API服務端

標簽:
  • 熱門焦點
  • 紅魔電競平板評測:大屏幕硬實力

    前言:三年的疫情因為要上網課的原因激活了平板市場,如今網課的時代已經過去,大家的生活都恢復到了正軌,這也就意味著,真正考驗平板電腦生存的環境來了。也就是面對著這種殘酷的
  • 石頭自清潔掃拖機器人G10S評測:多年黑科技集大成之作 懶人終極福音

    科技圈經常能看到一個詞叫“縫合怪”,用來形容那些把好多功能或者外觀結合在一起的產品,通常這樣的詞是貶義詞,但如果真的是產品縫合的好、縫合的實用的話,那它就成了中性詞,今
  • 6月iOS設備性能榜:M2穩居榜首 A系列只能等一手3nm來救

    沒有新品發布,自然iOS設備性能榜的上榜設備就沒有什么更替,僅僅只有跑分變化而產生的排名變動,畢竟蘋果新品的發布節奏就是這樣的,一年下來也就幾個移動端新品,不會像安卓廠商,一
  • 如何正確使用:Has和:Nth-Last-Child

    我們可以用CSS檢查,以了解一組元素的數量是否小于或等于一個數字。例如,一個擁有三個或更多子項的grid。你可能會想,為什么需要這樣做呢?在某些情況下,一個組件或一個布局可能會
  • 企業采用CRM系統的11個好處

    客戶關系管理(CRM)軟件可以為企業提供很多的好處,從客戶保留到提高生產力?! RM軟件用于企業收集客戶互動,以改善客戶體驗和滿意度?! RM軟件市場規模如今超過580
  • 之家push系統迭代之路

    前言在這個信息爆炸的互聯網時代,能夠及時準確獲取信息是當今社會要解決的關鍵問題之一。隨著之家用戶體量和內容規模的不斷增大,傳統的靠"主動拉"獲取信息的方式已不能滿足用
  • 10天營收超1億美元,《星鐵》比《原神》差在哪?

    來源:伯虎財經作者:陳平安即便你沒玩過《原神》,你一定聽說過的它的大名。恨它的人把《原神》開服那天稱作是中國游戲史上最黑暗的一天,有粉絲因為索尼在PS平臺上線《原神》,怒而
  • 網傳小米汽車開始篩選交付中心 建筑面積不低于3000平方米

    7月7日消息,近日有微博網友@長三角行健者爆料稱,據經銷商集團反饋,小米汽車目前已經開始了交付中心的篩選工作,要求候選場地至少有120個車位,建筑不能低
  • 聯想YOGA 16s 2022筆記本將要推出,屏幕支持觸控功能

    聯想此前宣布,將于11月2日19:30召開聯想秋季輕薄新品發布會,推出聯想 YOGA 16s 2022 筆記本等新品。官方稱,YOGA 16s 2022 筆記本將搭載 16 英寸屏幕,并且是一
Top 主站蜘蛛池模板: 锡林郭勒盟| 晋中市| 双辽市| 德令哈市| 双牌县| 友谊县| 白沙| 永兴县| 武乡县| 重庆市| 巴塘县| 无极县| 衡南县| 那坡县| 霍邱县| 巴林右旗| 韶关市| 辰溪县| 志丹县| 广灵县| 宝丰县| 九龙县| 云安县| 西充县| 连南| 闽清县| 黑河市| 凌云县| 大关县| 巴东县| 巫溪县| 上林县| 孝感市| 通道| 新化县| 合作市| 盈江县| 金昌市| 江西省| 曲水县| 哈密市|