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

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

Statefulset 實(shí)戰(zhàn) 3

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

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

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

Statefulset 擴(kuò)容和縮容

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

以及 2 個(gè)持久卷聲明 pvc ?和 2 個(gè)持久卷 pv

開(kāi)始手動(dòng)刪除一個(gè) pod

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

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

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

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

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

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

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

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

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

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

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

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

那么現(xiàn)在我們?cè)龠M(jìn)行擴(kuò)容,Statefulset 是否會(huì)將剛才刪除的 2 個(gè) pod全部恢復(fù)回來(lái)呢?要恢復(fù)成一模一樣的哦?

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

sta-kubia-1 和 sta-kubia-2 又回來(lái)了,有沒(méi)有失而復(fù)得的喜悅呢?

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

圖解上述案例

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

image-20220213182949663
  1. 刪除了 1 個(gè)pod ?sta-kubia-1

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

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

下圖是表示修改 Statefulset ?的 replicas 進(jìn)行擴(kuò)縮容

同樣也是分 3 步驟

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

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

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

看到這里了,有沒(méi)有發(fā)現(xiàn) Statefulset 和 Deployment 有一個(gè)共同點(diǎn),那就是 Statefulset ?刪除 pod 的時(shí)候,不會(huì)去刪除卷,Deployment ?在滾動(dòng)升級(jí)的時(shí)候,不會(huì)刪除 RS/RS

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

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

今天就到這里,學(xué)習(xí)所得,若有偏差,還請(qǐng)斧正

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

朋友們,你的支持和鼓勵(lì),是我堅(jiān)持分享,提高質(zhì)量的動(dòng)力

好了,本次就到這里

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

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


Statefulset 實(shí)戰(zhàn) 3的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
高陵县| 鄂托克前旗| 拉萨市| 湾仔区| 南乐县| 临西县| 辉县市| 沙坪坝区| 旅游| 绍兴市| 南通市| 吉安县| 杂多县| 江达县| 宁城县| 乌海市| 镇平县| 广饶县| 平阳县| 杂多县| 深泽县| 昌邑市| 上虞市| 安西县| 长汀县| 辽中县| 庆安县| 和田县| 剑川县| 汕尾市| 柏乡县| 宣威市| 鄱阳县| 中西区| 从化市| 当涂县| 商南县| 钟山县| 萍乡市| 姜堰市| 宁陕县|