2013年docker誕生,自此一發(fā)不可收拾,它的發(fā)展如火如荼,作為一個(gè)運(yùn)維如果不會(huì)docker,那真的是落伍了。
而2014年出現(xiàn)的kubernetes(又叫k8s)更加炙手可熱,我想大部分人僅僅是聽(tīng)說(shuō)過(guò),簡(jiǎn)單了解它,但并沒(méi)有真正使用過(guò)。那今天本文將帶著大家一起走近kubernetes。
為啥kubernetes又叫做k8s?據(jù)說(shuō)是因?yàn)閗ubernetes這個(gè)單詞太長(zhǎng),不好記,而首字母和尾字母中間有8個(gè)字母,所以就簡(jiǎn)寫成了k8s。Kubernetes翻譯成中文,意思是“舵手”。
本文開篇之所以提到docker,是因?yàn)閗8s之所以火,得益于docker。K8s簡(jiǎn)單說(shuō),是用來(lái)實(shí)現(xiàn)容器集群管理的系統(tǒng),用于自動(dòng)部署、擴(kuò)展和管理容器。它是由Google公司開發(fā),其原型為Google內(nèi)部容器管理系統(tǒng)Borg。
Borg經(jīng)過(guò)十多年地優(yōu)化、改進(jìn),其功能和效率不言而喻,k8s項(xiàng)目的目的就是把Borg最精華的部分提取出來(lái),使現(xiàn)在的開發(fā)者能夠更簡(jiǎn)單、直接地應(yīng)用。K8s自誕生之日起就注定了它的不平凡之路。
前幾年Openstack很火,但是這兩年k8s將要蓋過(guò)Openstack了,雖然k8s不能完全替代Openstack,但在云計(jì)算領(lǐng)域,k8s的確是后起之秀,能用容器云解決的問(wèn)題,堅(jiān)決不用傳統(tǒng)云。
其實(shí)和k8s功能類似的容器管理工具還有一個(gè)Swarm,它是docker官方開發(fā),按理說(shuō)docker官方的東西不更應(yīng)該被大家普及么,可事實(shí)上k8s的體驗(yàn)比官方的Swarm更加好,其根本原因還是Borg。
要想更了解K8s,需要先理解幾個(gè)相關(guān)的概念。
node一個(gè)物理機(jī)器,或一個(gè)虛擬機(jī)(KVM類型,而不是容器類型);將虛擬機(jī)作為node一般是歷史原因,或是為了徹底隔絕杜絕安全問(wèn)題。
cluster一組node需要被集中管理,統(tǒng)一叫一個(gè)cluster。一個(gè)cluster有一個(gè)master和多個(gè)node。每個(gè)node里面有一個(gè)kubelet用來(lái)服從master調(diào)度并管理node本身。
app containers一個(gè)node里面可以有一個(gè)或多個(gè)容器化的應(yīng)用程序,即app container。可以簡(jiǎn)單認(rèn)為就是docker容器。
pod多個(gè)app containers之間可能需要共享硬盤,或共享同一個(gè)ip,這樣一組app containers合起來(lái)叫一個(gè)pod。典型應(yīng)用如:一個(gè)容器不停產(chǎn)生日志到本地硬盤,另一個(gè)容器不停讀本地硬盤并上傳日志到日志服務(wù)器。
service當(dāng)一個(gè)node掛了時(shí),上面的pod及pod里面的container也自然都掛了。為了死不掉,需要有個(gè)pod上層的抽象,pod掛了,service還在。service通過(guò)如下幾種方式暴露出來(lái)。
ClusterIP (default),cluser的內(nèi)網(wǎng)ip,只能此cluster內(nèi)可見(jiàn)
NodePort,端口NAT到cluster外面
LoadBalancer,在cluster外面搞個(gè)LB并分配個(gè)外面可見(jiàn)的固定IP給LB
ExternalName,類似CNAME方式
deployment配置yaml格式,存在master上,當(dāng)機(jī)器故障或需要橫向scale時(shí)或需要更新binary時(shí),master根據(jù)配置搞定一切。
-
Cluster
+關(guān)注
關(guān)注
0文章
7瀏覽量
9150 -
node
+關(guān)注
關(guān)注
0文章
23瀏覽量
5937 -
kubernetes
+關(guān)注
關(guān)注
0文章
224瀏覽量
8715
原文標(biāo)題:Kubernetes知多少
文章出處:【微信號(hào):aming_linux,微信公眾號(hào):阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論