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

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

pod 知識(shí)點(diǎn) 下

2023-06-26 22:42 作者:阿兵云原生  | 我要投稿



上一篇分享了 pod 的基本知識(shí)點(diǎn),有 K8S 環(huán)境的小伙伴還是可以用起來的,還對(duì)比較簡(jiǎn)單,知道了 pod 的 yaml 文件結(jié)構(gòu),標(biāo)識(shí),基本的創(chuàng)建 pod 和刪除 pod 的用法等等,我們繼續(xù)


![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/633ecd03af42414db70fb24787e3aba0~tplv-k3u1fbpfcp-zoom-1.image)


## pod 的基本分類


前面我們說到了 **pod 分為靜態(tài) pod 和普通的 pod** ,那么這倆有啥區(qū)別呢?


![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d7820a8ca24a4381b295a575d641c535~tplv-k3u1fbpfcp-zoom-1.image)


**靜態(tài) pod**


- 由 kubelet 進(jìn)行管理

- 存在于特定 Node 上的 pod

- **不能通過 Api Server 管理**

- 無法 ReplicationController,Deployment,Daemonset 進(jìn)行關(guān)聯(lián)

- kubelet 無法對(duì)該 pod 進(jìn)行健康檢查


**普通 pod**


- 一旦創(chuàng)建,就會(huì)被放到 etcd 存儲(chǔ)中

- 會(huì)被 k8s 中的 master 調(diào)度到某個(gè) Node 上面并綁定,該 Node 上的 kubelet 會(huì)實(shí)例化成 docker 容器 運(yùn)行起來

- k8s 會(huì)對(duì) pod 做健康檢查,若 pod 中的容器暫?;蛘弋惓?,k8s 會(huì)將他們重啟

- **若 pod 所在的 Node 宕機(jī)了,那么 k8s 會(huì)將 該 Node 的所有 pod 重新調(diào)度到別的節(jié)點(diǎn)上面**


## pod 的生命周期是啥樣的


![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/fb316e71927d4845a43ec0c248a970e1~tplv-k3u1fbpfcp-zoom-1.image)


如上圖,我們可以看到 mykubia pod 的運(yùn)行狀態(tài)是 **RUNNING** , 那么 pod 的生命周期是什么樣子的呢?會(huì)有哪些狀態(tài)呢?


- Pending


**Pending 狀態(tài) 表示? Api Server 已經(jīng)創(chuàng)建好了該 pod**,但是 pod 中的一個(gè)或者多個(gè)容器還沒有被創(chuàng)建,或者現(xiàn)在正在下載鏡像


- Running


**pod 內(nèi)所有的容器已經(jīng)創(chuàng)建好了**,至少有一個(gè)容器是**運(yùn)行狀態(tài)、正在啟動(dòng)狀態(tài)**或者是**正在重啟狀態(tài)**


- Completed


pod 內(nèi)的容器均已執(zhí)行正常退出,且不會(huì)再次重啟了


- Failed


pod 內(nèi)的容器均已執(zhí)行正常退出,至少有一個(gè)容器是退出失敗的


- Unknown


由于某種原因無法獲取到 pod 的狀態(tài),例如網(wǎng)絡(luò)問題等等


## pod 的重啟策略是啥樣的


![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/8c3b47e7b7aa441aa23e099219d80d74~tplv-k3u1fbpfcp-zoom-1.image)


上一篇文章我們手寫 yaml 的時(shí)候,還記得 yaml 里面的這個(gè)字段嗎? `restartPolicy: [Always|Never|OnFailure]`


restartPolicy 指的是 pod 的重啟策略,分別為:


- Always


如果 pod 里面的容器失效的時(shí)候,**kubelet 會(huì)自動(dòng)重啟這個(gè)容器**


- Never


不管容器運(yùn)行的狀態(tài)怎么樣,正常還是異常,**kubelet 都不會(huì)重啟該容器**


- OnFailure


容器終止運(yùn)行的時(shí)候,**并且退出碼不是 0**, kubelet 就會(huì)重啟該 容器?




**上面說到的 pod 的狀態(tài)又是如何轉(zhuǎn)換的呢?**


![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/448b45a56360430789b34df13b1dc4bc~tplv-k3u1fbpfcp-zoom-1.image)


我們可以來對(duì)比一下,當(dāng) pod 中有 1 個(gè) 或者多個(gè)容器在運(yùn)行的時(shí)候,發(fā)生如下情況,pod 的狀態(tài)會(huì)是如何轉(zhuǎn)換的


**當(dāng) pod 中有 1 個(gè)容器的時(shí)候:**


| 當(dāng)前 pod 的狀態(tài) | 若發(fā)生如下事件 | pod 的狀態(tài)會(huì)如何調(diào)整? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|

| --------------- | -------------- | ------------------------------------------------------------ |

| Running? ? ? ? ?| 容器成功退出? ?| - Always 重啟策略<br />狀態(tài)仍然是 **Running**<br />- Never 重啟策略<br />狀態(tài)會(huì)變成 **Completed**<br />- OnFailure 重啟策略<br />狀態(tài)會(huì)變成 **Completed** |

| Running? ? ? ? ?| 容器退出異常? ?| - Always 重啟策略<br />狀態(tài)仍然是 **Running**<br />- Never 重啟策略<br />狀態(tài)會(huì)變成 **Failed**<br />- OnFailure 重啟策略<br />狀態(tài)會(huì)變成 **Running** |


**當(dāng) pod 中有 2 個(gè)以上的容器的時(shí)候:**


| 當(dāng)前 pod 的狀態(tài) | 若發(fā)生如下事件? ? ? ? ? ? ?| pod 的狀態(tài)會(huì)如何調(diào)整? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|

| --------------- | -------------------------- | ------------------------------------------------------------ |

| Running? ? ? ? ?| 有 1 容器退出異常? ? ? ? ? | - Always 重啟策略<br />狀態(tài)仍然是 **Running**<br />- Never 重啟策略<br />狀態(tài)會(huì)變成 **Running**<br />- OnFailure 重啟策略<br />狀態(tài)會(huì)變成 **Running** |

| Running? ? ? ? ?| 容器資源被限制,容器被殺掉 | - Always 重啟策略<br />狀態(tài)仍然是 **Running**<br />- Never 重啟策略<br />狀態(tài)會(huì)變成 **Failed**<br />- OnFailure 重啟策略<br />狀態(tài)會(huì)變成 **Running** |




## pod 的資源是如何配置的?


例如上一篇我們手寫的 yaml 就有提到?


![image-20211126230636938](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/4f5c94042c8942a0bf21de26b950f54b~tplv-k3u1fbpfcp-zoom-1.image)


pod 的 yaml 中,我們可以設(shè)置 cpu 的個(gè)數(shù)和 memory 的大小,這些值都是一個(gè)具體的值,都是絕對(duì)值


**cpu 的單位是 個(gè)數(shù)** , 例如可以配置 500m 表示 0.5 個(gè) CPU


**memory 的單位是 字節(jié)數(shù)** , 例如可以配置 64 Mi 表示 64 M 的內(nèi)存


- request


表示資源申請(qǐng)的最小數(shù)量,滿足系統(tǒng)必須要求


- limits


表示申請(qǐng)?jiān)撡Y源的最大數(shù)量,這個(gè)值是不能突破的,如果突破了,K8S 就會(huì)將該 pod 殺掉







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


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


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


![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/58a634a3d3f84562be9f56f3360ba3fd~tplv-k3u1fbpfcp-zoom-1.image)


好了,本次就到這里


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


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


pod 知識(shí)點(diǎn) 下的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
镇沅| 信阳市| 万宁市| 崇左市| 西贡区| 邢台县| 河池市| 成都市| 福泉市| 玉门市| 阿拉尔市| 韩城市| 阳原县| 广灵县| 武宁县| 柳江县| 康保县| 嘉义市| 隆安县| 凉山| 阳信县| 保靖县| 日喀则市| 青神县| 江津市| 临武县| 鸡泽县| 微山县| 六安市| 稷山县| 霸州市| 政和县| 满洲里市| 三门县| 长沙县| 安徽省| 高阳县| 济南市| 刚察县| 景德镇市| 德州市|