成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文看懂K8S中的滾動升級

云計算 云原生
隨著云原生的普及,越來越多的公司已經使用K8S進行容器編排和管理,在分布式微服務場景下,滾動升級是一種自動化程度較高的主流發布方式,能做到服務更新升級過程中用戶體驗平滑,業務“零停機”。

Part 01、升級策略 

K8S中通過spect.strategy來定義新的 Pod 替換為舊的Pod的策略。策略類型分為:重建策略(Recreate)或滾動升級策略(RollingUpdate),默認為 RollingUpdate。

Recreate -- 在創建出新的Pod之前會先刪掉所有已存在的Pod。

RollingUpdate -- 可以指定maxSurge和maxUnavailable來控制滾動升級過程。

  • maxSurge:用來指定升級期間可以超過預期Pod數量的最大值,該值可以是一個絕對數(例如:5)或一個預期 Pod 的百分比(例如:10%),默認為 25%。通過百分比計算的絕對值向上取整。
  • maxUnavailable:用來指定升級期間不可用的最大 Pod 數量。該值可以是一個絕對數(例如:5)或一個預期 Pod 的百分比(例如:10%),默認為 25%。通過百分比計算的絕對值向下取整。

在業務中我們默認使用滾動升級策略,通過合理配置maxSurge和maxUnavailable實現業務高可用。

Part 02、健康檢查 

K8S中通過探針對容器執行定期診斷來判斷容器的狀態,通常使用存活性探針(liveness probes)和就緒性探針(readiness probes)根據容器狀態進行后續處理。

  • livenessProbe:探測容器是否正在運行。如果存活探測失敗,則 kubelet 會殺死容器,并且容器將受到其重啟策略的影響。如果容器不提供存活探針,則默認狀態為 Success。
  • readinessProbe:探測容器是否準備好服務請求。如果就緒探測失敗,端點控制器將從與 Pod 匹配的所有Service的端點中刪除該Pod的IP地址。初始延遲之前的就緒狀態默認為 Failure。如果容器不提供就緒探針,則默認狀態為 Success。

在業務中我們經常同時使用這兩種探針,通過存活性探針判斷容器是否需要重啟以實現自愈,通過就緒性探針判斷容器是否已經準備好對外提供服務。

Part 03、K8S滾動升級原理

K8S通過Deployment創建副本,Deployment是一個三級結構:Deployment控制Replicaset(副本集),Replicaset控制Pod。根據Deployment的這個結構特性,一個Deployment下可存在不同的Replicaset,那就表示一個Deployment下可以有不同鏡像版本的Pod同時存在。

升級過程中Deployment自動創建Replicaset,Replicaset通過滾動升級策略中maxSurge、maxUnavailable兩個參數來精準地控制每次滾動的Pod數量。再結合健康檢查中的存活性探針(liveness probes)和就緒性探針(readiness probes)來精準判斷Pod何時啟動成功以及何時準備好服務請求,確保升級過程中可用的Pod都是可正常提供服務的。

具體過程如下圖所示。

圖片

K8S滾動升級過程


Part 04、總結

本文中介紹了K8S中的升級策略和健康檢查,通過配置升級策略和健康檢查實現滾動升級來確保微服務的平滑部署,但滾動升級也對業務設計提出了更高的要求,需要業務在設計中做到前后版本兼容,否則滾動升級過程中新舊版本同時存在期間服務調用可能會導致業務失敗、臟數據等問題,業務要根據自身特性與需求選擇適合的升級方案。

引用:

kubernetes中文文檔:

???http://docs.kubernetes.org.cn/317.html???

責任編輯:龐桂玉 來源: 移動Labs
相關推薦

2024-10-23 11:34:18

云計算KubernetesAkamai

2023-10-27 23:10:17

K8s框架kubebuilde

2023-12-20 08:13:54

K8S監控管理

2021-11-29 13:13:57

網絡虛擬化容器

2020-03-31 14:40:24

HashMap源碼Java

2016-08-18 00:21:12

網絡爬蟲抓取網絡

2022-06-06 08:48:37

整體架構K8s

2024-08-12 12:30:27

2023-07-14 08:00:00

ORMRust ORMSQL

2025-06-27 02:15:00

芯片流程數字芯片

2018-05-29 09:21:13

K8S系統架構

2025-01-20 09:15:00

iOS 18.3蘋果iOS 18

2021-08-02 06:56:19

TypeScript編程語言編譯器

2019-05-22 09:50:42

Python沙箱逃逸網絡攻擊

2019-07-01 09:22:15

Linux操作系統硬件

2017-07-28 09:11:14

HIVEHBASE區別

2018-05-31 09:46:04

車聯網智能交通ITS

2025-05-20 13:52:12

GPU集群微軟

2023-10-26 08:25:39

KubernetesKubeadm

2019-09-03 10:40:23

數據結構HTML編程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: h视频免费在线观看 | 天天射天天干 | 久久网站黄 | 一级a性色生活片久久毛片 一级特黄a大片 | 亚洲精品片 | 精品国产亚洲一区二区三区大结局 | 1000部精品久久久久久久久 | 日本在线免费 | 成年网站在线观看 | 国产精品v | 国产精品99免费视频 | 成人久久网 | 97精品视频在线观看 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 国产精品18久久久久久久 | 国产日韩一区二区三免费高清 | 午夜影院在线播放 | 亚洲久草 | 狠狠夜夜 | 欧美乱淫视频 | 99免费在线 | 国产一区二区三区高清 | 成人国产精品久久久 | 欧美理论片在线观看 | 国产丝袜一区二区三区免费视频 | 色欧美日韩 | 成年人国产在线观看 | 久久国产一区 | 精品av| 国产精品久久久久久久久久三级 | 亚洲视频在线观看 | 久久国产成人 | 天天爽天天干 | 中文字幕一区二区在线观看 | 精品九九九 | 亚洲欧洲精品在线 | www国产成人免费观看视频,深夜成人网 | 国产色网站| 午夜理伦三级理论三级在线观看 | h片在线看 | 91免费版在线观看 |