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

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

在 K8S 中部署一個(gè)應(yīng)用 下

2023-06-23 23:04 作者:阿兵云原生  | 我要投稿


接著上一篇繼續(xù)部署應(yīng)用到 K8S中

之前簡單部署的簡單集群,三個(gè)工作節(jié)點(diǎn)是運(yùn)行在 docker 和 kubelet 的,還有一個(gè)是控制節(jié)點(diǎn)

ReplicationController , pod 和 service 本次關(guān)系

之前有提到 ReplicationController , pod 和 服務(wù)是如何組合在一起的呢?

可以通過這張如圖來解釋一下

我們之前創(chuàng)建 pod 的時(shí)候不是直接創(chuàng)建的,是通過 docker run 來創(chuàng)建的一個(gè) replicationController ,然后基于 rc 來創(chuàng)建的一個(gè) pod 實(shí)例

為了讓 pod 能夠被外部訪問到,所以我們需要讓 K8S 將 replicationController 管理的所有 pod 由一個(gè)服務(wù)對外暴露,因此有了 kubia-http

  • 服務(wù)是有對外暴露 IP 的,請求打到 service 上

  • service 將請求轉(zhuǎn)到 pod 上面的 9999 端口上,然后 pod 提供服務(wù)

ReplicationController 角色是啥樣的

通過上面的案例,我們應(yīng)該知道 ReplicationController實(shí)際上是用于復(fù)制 pod 的,通過 ReplicationController 來創(chuàng)建多個(gè) pod 副本

ReplicationController 始終確保存在一個(gè)運(yùn)行中的 pod 實(shí)例

如果我們上面創(chuàng)建的 pod 消失了,那么 ReplicationController 將會創(chuàng)建一個(gè)新的 pod 來替換消失的 pod

為什么需要 service

再來看看 service ,也就是上面 kubia-http 服務(wù)

為什么需要服務(wù),有了 pod ,還拿 service 干啥?

通過上面的 ReplicationController 我們知道,pod 消失之后, ReplicationController 會再創(chuàng)建一個(gè)新的將其替換

那么我們也知道,每一個(gè) pod 都有自己的獨(dú)立的主機(jī)名和 IP

pod 在環(huán)境中會因?yàn)槿魏卧蛑苯訏斓艉拖?,然后又被新?pod 替換,這個(gè)時(shí)候 pod 的 IP 變化了,外部如何正確訪問到我們的服務(wù)呢?

這個(gè)時(shí)候就需要 service 了

  • service 可以解決不斷變化的 pod IP 問題

  • service 可以在一個(gè)固定 IP 和端口上對外暴露多個(gè)pod

當(dāng)一個(gè) service 被創(chuàng)建的時(shí)候,會得到一個(gè)靜態(tài)的 IP,在 service 整個(gè)生命周期中,它的 IP 是不會變的

客戶端只需要通過這個(gè)固定 IP 連接服務(wù)即可,服務(wù)會將請求轉(zhuǎn)到 內(nèi)部其中一個(gè) pod, 客戶端不需要關(guān)心 pod 在哪里,只需要關(guān)系 service 在哪里即可

增加副本數(shù)量

當(dāng)前的系統(tǒng)里面只有的一個(gè)副本,現(xiàn)在我們可以增加到 3 個(gè)副本

我們可以通過指令 kubectl get replicationcontrollers 來查看當(dāng)前的副本數(shù)

可以通過 kubectl scale rc mykubia --replicas=3,來將副本數(shù)調(diào)整至 3 個(gè)

  • 我們執(zhí)行上面這個(gè)指令,只是告訴 K8S 系統(tǒng)中期望的副本數(shù)量,并沒有告訴 K8S 需要如何去操作,如何去實(shí)現(xiàn)

  • K8S 自身會去檢查當(dāng)前的狀態(tài)是否和期望的狀態(tài)一致,如果不一致就會進(jìn)行調(diào)整, 這個(gè)是 K8S 中基本的原則之一

我們用到的指令中,好多都是 kubectl get xxx 的,就是獲取對應(yīng)的 pod,service ,rc 等等信息的

其實(shí)我們也可以直接執(zhí)行 kubectl get,這樣可以列出所有可能類型的對象,還能夠顯示縮寫

最新的系統(tǒng)狀態(tài)

通過執(zhí)行上述的指令,系統(tǒng)中將 1 個(gè)副本,調(diào)整成了 3 個(gè)副本

這就是 K8S 可以輕易的做到水平伸縮,我們要擴(kuò)充副本的時(shí)候,再也不需要手動的去安裝和運(yùn)行其他副本了,只用執(zhí)行指令,修改期望數(shù)量即可

當(dāng)然,我們放進(jìn) pod 的服務(wù),也需要做成無狀態(tài),可橫向擴(kuò)展的,這樣才能更好的使用 K8S 的能力

這樣子的話,最新的系統(tǒng)應(yīng)該是這個(gè)樣子的

外部請求打到 service 上面,service 會將請求給到 任意一個(gè) pod ,對應(yīng)的 pod 即提供服務(wù)即可

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

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

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

好了,本次就到這里

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

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


在 K8S 中部署一個(gè)應(yīng)用 下的評論 (共 條)

分享到微博請遵守國家法律
商都县| 克什克腾旗| 吉木萨尔县| 会东县| 北碚区| 台中县| 三原县| 鹤岗市| 涞源县| 东丽区| 彩票| 华宁县| 缙云县| 武陟县| 奉新县| 和顺县| 云霄县| 左权县| 宜春市| 广水市| 改则县| 房山区| 保定市| 阳泉市| 宁城县| 色达县| 康马县| 泸西县| 定远县| 古浪县| 五指山市| 贞丰县| 红安县| 河间市| 阿克陶县| 敦化市| 玉林市| 仲巴县| 邮箱| 禄劝| 长海县|