日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

K8s基本概念入门_k8s菜鸟教程

發(fā)布時(shí)間:2023/12/19 综合教程 20 生活家
生活随笔 收集整理的這篇文章主要介紹了 K8s基本概念入门_k8s菜鸟教程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

序言

沒等到風(fēng)來,綿綿小雨,所以寫個(gè)隨筆,聊聊k8s的基本概念。


k8s是一個(gè)編排容器的工具,其實(shí)也是管理應(yīng)用的全生命周期的一個(gè)工具,從創(chuàng)建應(yīng)用,應(yīng)用的部署,應(yīng)用提供服務(wù),擴(kuò)容縮容應(yīng)用,應(yīng)用更新,都非常的方便,而且可以做到故障自愈,例如一個(gè)服務(wù)器掛了,可以自動(dòng)將這個(gè)服務(wù)器上的服務(wù)調(diào)度到另外一個(gè)主機(jī)上進(jìn)行運(yùn)行,無需進(jìn)行人工干涉。那么,問題來了,要運(yùn)維何用?


k8s可以更快的更新新版本,打包應(yīng)用,更新的時(shí)候可以做到不用中斷服務(wù),服務(wù)器故障不用停機(jī),從開發(fā)環(huán)境到測試環(huán)境到生產(chǎn)環(huán)境的遷移極其方便,一個(gè)配置文件搞定,一次生成image,到處運(yùn)行。。。


k8s的全生命周期管理

在k8s進(jìn)行管理應(yīng)用的時(shí)候,基本步驟是:創(chuàng)建集群,部署應(yīng)用,發(fā)布應(yīng)用,擴(kuò)展應(yīng)用,更新應(yīng)用。


1、創(chuàng)建集群:為什么要使用集群?

有一句古話叫做三個(gè)臭皮匠,賽過諸葛亮,這就是創(chuàng)建集群的原因。。。


使用集群,create cluster是為了掩蓋底層的無能,在各種環(huán)境中,底層的硬件各不相同,有的是各種低廉的服務(wù)器,有的各種云環(huán)境,有的是各種vm,有的各種host machine,要想屏蔽底層的細(xì)節(jié),增強(qiáng)可靠性和穩(wěn)定性,從而需要?jiǎng)?chuàng)建集群。


創(chuàng)建集群的好處就是,統(tǒng)一對外提供接口,無須進(jìn)行各種復(fù)雜的調(diào)用;提供更好的可靠性,服務(wù)器宕機(jī)那么頻繁,物理磁盤那么容易損壞,無須擔(dān)心,集群統(tǒng)一進(jìn)行調(diào)配;提供更好的性能,組合集群中各個(gè)機(jī)器的計(jì)算存儲網(wǎng)絡(luò)資源,提供更好的TPS和PS;提供橫向擴(kuò)容的能力,在進(jìn)行橫向擴(kuò)容的時(shí)候,性能基本上能呈線性增長。

集群看起來很牛,那么創(chuàng)建起來很復(fù)雜么?并不會(huì),在k8s只要使用兩條指令就可以創(chuàng)建一個(gè)集群,一個(gè)是kubectl init進(jìn)行初始化,創(chuàng)建一個(gè)master節(jié)點(diǎn),第二條指令就是kubectl join xxx創(chuàng)建一個(gè)node節(jié)點(diǎn),加入這個(gè)集群。


在這邊可以看到k8s在物理上進(jìn)行劃分的時(shí)候,劃分了兩種類型的主機(jī),一個(gè)master節(jié)點(diǎn),主要用來調(diào)度,控制集群的資源等功能;而node節(jié)點(diǎn),主要是用來運(yùn)行容器的節(jié)點(diǎn),也就是運(yùn)行服務(wù)的節(jié)點(diǎn)。


其實(shí)集群都差不多,master用來控制,用來存儲各種元數(shù)據(jù),node節(jié)點(diǎn)是一個(gè)工作節(jié)點(diǎn),真正來干活的;node節(jié)點(diǎn)定時(shí)與master進(jìn)行通信,通過kubelet進(jìn)程來匯報(bào)信息。


創(chuàng)建了集群,我要怎么看信息?如下:


2、 部署應(yīng)用

使用集群的主要目標(biāo)是啥?用來提供服務(wù),讓開發(fā)開發(fā)的應(yīng)用程序能在集群上運(yùn)行,從而需要讓開發(fā)能運(yùn)行一個(gè)應(yīng)用來進(jìn)行測試。

一條指令就能運(yùn)行一個(gè)服務(wù),有了image之后就是這么簡單。所以,在開發(fā)完成程序之后,需要將程序打包成image,然后放到registry中,然后就能夠運(yùn)行應(yīng)用了。


在部署完成應(yīng)用之后,就可以看到應(yīng)用的名稱,期望狀態(tài)是運(yùn)行一個(gè)pod,當(dāng)前有一個(gè)pod,活動(dòng)的也是一個(gè),還有啟動(dòng)的時(shí)間,那么什么是pod呢?

在k8s里面,集群調(diào)度的最小單元就是一個(gè)pod,一個(gè)pod可以是一個(gè)容器,也可以是多個(gè)容器,例如你運(yùn)行一個(gè)程序,其中使用了nginx,使用mysql了,使用了jetty,那么可以將這三個(gè)使用在同一個(gè)pod中,對他們提供統(tǒng)一的調(diào)配能力,一個(gè)pod只能運(yùn)行在一個(gè)主機(jī)上,而一個(gè)主機(jī)上可以有多個(gè)pod。


那么有人會(huì)問,為什么要使用pod,為什么不能直接使用容器呢?使用pod,相當(dāng)與一個(gè)邏輯主機(jī),還記得創(chuàng)建一個(gè)vm,在vm上運(yùn)行幾個(gè)進(jìn)程么,其實(shí)道理是一樣的,pod的存在主要是讓幾個(gè)緊密連接的幾個(gè)容器之間共享資源,例如ip地址,共享存儲等信息。如果直接調(diào)度容器的話,那么幾個(gè)容器可能運(yùn)行在不同的主機(jī)上,這樣就增加了系統(tǒng)的復(fù)雜性。


3、發(fā)布應(yīng)用

發(fā)布應(yīng)用主要就是對外提供服務(wù),可能會(huì)有人提出疑問,我都運(yùn)行了服務(wù),為什么還不能提供服務(wù),這是因?yàn)樵诩寒?dāng)中,創(chuàng)建的ip地址等資源,只有在同一個(gè)集群中才能訪問,每個(gè)pod也有獨(dú)一的ip地址,當(dāng)有多個(gè)pod提供相同的服務(wù)的時(shí)候,就需要有負(fù)載均衡的能力,從而這里就涉及到一個(gè)概念就是service,專門用來提供服務(wù)的。

服務(wù)主要是用來提供外界訪問的接口,服務(wù)可以關(guān)聯(lián)一組pod,這些pod的ip地址各不相同,而service相當(dāng)于一個(gè)復(fù)雜均衡的vip,用來指向各個(gè)pod,當(dāng)pod的ip地址發(fā)生改變之后,也能做到自動(dòng)進(jìn)行負(fù)載均衡,在關(guān)聯(lián)的時(shí)候,service和pod之間主要通過label來關(guān)聯(lián),也就是標(biāo)簽(-l表示為label)。

從而外界就可以訪問此應(yīng)用了,如下:

4、 擴(kuò)容縮容

在業(yè)務(wù)上線之后,碰到了雙十一怎么辦?擴(kuò)容。。。萬劍歸宗,只要有一個(gè)pod,那么就可以產(chǎn)生無數(shù)個(gè)pod。。。。

過了雙十一怎么辦,縮容。。。

橫向擴(kuò)展的能力。。每次擴(kuò)容縮容的時(shí)候,這種會(huì)不會(huì)覺得很方便,一句話的事兒。。不用創(chuàng)建vm,不用去部署中間件,不用去各種修改配置,這就是自動(dòng)化。。。


5、 更新

有新版本了,我要發(fā)布。。。那么。。。

滾動(dòng)更新。。。根據(jù)新的image創(chuàng)建一個(gè)pod,分配各種資源,然后自動(dòng)負(fù)載均衡,刪除老的pod,然后繼續(xù)更新。。。。不會(huì)中斷服務(wù)。。。

更新錯(cuò)了怎么辦,不慫,不會(huì)影響生產(chǎn)業(yè)務(wù),回滾就好了。。。幾秒鐘的事兒。。。

后話

k8s的基本入門,其實(shí)算是一種用戶視角,只是用來演示如何使用k8s,怎么提高了生產(chǎn)力而已。


在給客戶演示的時(shí)候,為啥要選擇k8s?主要就是如何提高了發(fā)布的效率,更新版本的效率,更方便更快捷的上線新版本。


但是在運(yùn)維關(guān)注的視角下,這些遠(yuǎn)遠(yuǎn)不夠。。。master?存儲了哪些元數(shù)據(jù),存儲在etcd中?如何來進(jìn)行監(jiān)控?在很多很多系統(tǒng)情況下,怎么來部署k8s,是一個(gè)項(xiàng)目一個(gè)k8s還是一個(gè)k8s多個(gè)項(xiàng)目?等等一系列的問題。。。


掃描二維碼,歡迎關(guān)注轉(zhuǎn)發(fā)。

掃描二維碼,歡迎評論。。。不評論也無所謂,反正寫著玩。。。



總結(jié)

以上是生活随笔為你收集整理的K8s基本概念入门_k8s菜鸟教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。