最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Statefulset 實戰(zhàn) 3

2023-08-05 23:26 作者:阿兵云原生  | 我要投稿

上一部分我們說到如何使用 Statefulset 部署有狀態(tài)的應(yīng)用,Statefulset 可以做到部署的 每一個 pod 能夠獨立的擁有一個持久卷聲明和持久卷

之前我們 用 Statefulset ?和 ReplicaSet 對比,自然他們是有相似之處和不同之處,不同之處前面的文章已經(jīng)分享了,我們來看看他們的相似之處,那么那就是對于管理副本數(shù)的擴容和縮容了

Statefulset 擴容和縮容

查看我們環(huán)境中擁有的 1 個 Statefulset ?和其管理的 2 個 pod

以及 2 個持久卷聲明 pvc ?和 2 個持久卷 pv

開始手動刪除一個 pod

當我們手動刪除 sta-kubia-0 的時候,由于 Statefulset ?自身管理的副本數(shù)是 2 個,通過標簽發(fā)現(xiàn)環(huán)境中少了一個 pod,因此 Statefulset 會立馬創(chuàng)建一個和剛才少的那個一模一樣的 pod

通過我們查看 pod 的名稱和索引值是我們所期望的,并且是 curl 訪問 pod 的提供的接口,獲取的相應(yīng)數(shù)據(jù)也是我們所期望的

修改副本個數(shù)為 3

修改副本數(shù),只需要 kubectl get statefulset 修改 spec 下的 replicas 字段即可

修改副本數(shù)之后,通過如下命令查看相應(yīng)資源情況

kubectl?get?statefulset
kubectl?edit?statefulset?sta-kubia
kubectl?get?po?|?grep?sta
kubectl?get?pv
kubectl?get?pvc

副本數(shù)修改為 3 后,Statefulset 進行了擴容,我們發(fā)現(xiàn)確實是創(chuàng)建了一個 pod,索引為 2 ,也同時創(chuàng)建 1 給 pvc 和 pv,實際操作后,效果和我們理論的效果是一致的

將副本數(shù)修改為 1

那么我們現(xiàn)在開始縮容,效果會不會和我們理論上的還是一樣的呢?

操作和上述類似,將副本數(shù)修改為 1 即可

進行縮容之后,我們可以看到 索引為 3 和 2 的 兩個 pod 都被刪掉了,但是他們的 持久化卷聲明和持久化卷仍然還在,當然里面的數(shù)據(jù)也是還在的,感興趣的小伙伴可以嘗試使用 curl 命令去請求一下,結(jié)果會如你所愿

將副本數(shù)修改回 3

那么現(xiàn)在我們再進行擴容,Statefulset 是否會將剛才刪除的 2 個 pod全部恢復回來呢?要恢復成一模一樣的哦?

咱們查看到效果果然和我們理論的一毛一樣,沒有偏差哦

sta-kubia-1 和 sta-kubia-2 又回來了,有沒有失而復得的喜悅呢?

Statefulset 說,我說到做到,之前給你說是啥樣子的,現(xiàn)在我就會做成啥樣子給你看,還不錯吧

圖解上述案例

如圖,分為 3 步驟,該圖是用來表示我們手動或者由于異常刪除了一個 pod,此時 Statefulset 的副本數(shù)是 2

image-20220213182949663
  1. 刪除了 1 個pod ?sta-kubia-1

  2. sta-kubia-1 對應(yīng)的 卷還是在環(huán)境中的,是沒有被刪除的

  3. Statefulset 通過標簽識別到少了 1 個 pod,因此會重新創(chuàng)建 1 個 pod,這個 pod 和原來的 pod 一模一樣,標識,狀態(tài)等等完全一致,新建的 pod sta-kubia-1 仍然直接使用原來的 卷 1

下圖是表示修改 Statefulset ?的 replicas 進行擴縮容

同樣也是分 3 步驟

  1. 環(huán)境中 repilicas 副本數(shù) 為 3 ,通過編輯 Statefulset ?,將副本數(shù)修改為 1,此時 k8s 會從最高索引,由大到小的刪除,最終剩下 1 個 pod ,也就是 sta-kubia-0

  2. 刪除掉 2 個 pod 之后,仍然是保留了原有 pod 的卷,Statefulset ?是不會去刪除卷的

  3. 人為的將 repilicas 副本數(shù)從 1 修改為 3,Statefulset 會如何我們所想的重新恢復原有的 2 個 pod,即 sta-kubia-1,和 sta-kubia-2,這倆pod 仍然可以直接使用原來的卷 1 和 卷 2

看到這里了,有沒有發(fā)現(xiàn) Statefulset 和 Deployment 有一個共同點,那就是 Statefulset ?刪除 pod 的時候,不會去刪除卷,Deployment ?在滾動升級的時候,不會刪除 RS/RS

所以我們是否可以聯(lián)想到 Statefulset 的升級,也是可以像 Deployment ?一樣可以支持滾動升級呢?

沒錯,確實是可以的,以前不太行,k8s 從 1.7 版本之后就支持了,操作的方式和 Deployment 類似,如果對于 Deployment 顯示升級應(yīng)用的細節(jié)有疑問的,可以查看文章 【k8s 系列】k8s 學習二十五-2,Deployment 升級應(yīng)用

今天就到這里,學習所得,若有偏差,還請斧正

歡迎點贊,關(guān)注,收藏

朋友們,你的支持和鼓勵,是我堅持分享,提高質(zhì)量的動力

好了,本次就到這里

技術(shù)是開放的,我們的心態(tài),更應(yīng)是開放的。擁抱變化,向陽而生,努力向前行。

我是阿兵云原生,歡迎點贊關(guān)注收藏,下次見~


Statefulset 實戰(zhàn) 3的評論 (共 條)

分享到微博請遵守國家法律
浑源县| 南城县| 福鼎市| 高州市| 岳阳市| 于都县| 奇台县| 呼图壁县| 宜阳县| 敦煌市| 凉城县| 从江县| 彭水| 新野县| 九龙县| 唐河县| 栾城县| 潼关县| 从江县| 全椒县| 酉阳| 铁力市| 漠河县| 临泽县| 措美县| 怀安县| 南澳县| 阳原县| 岳阳市| 镶黄旗| 安西县| 噶尔县| 独山县| 洪江市| 黑龙江省| 兰西县| 白城市| 商水县| 东至县| 永靖县| 宁夏|