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

評論