成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

干貨速遞 ▎Kubernetes有狀態(tài)集群服務(wù)部署與管理(上)

Pink / 1339人閱讀

摘要:有狀態(tài)集群服務(wù),與普通有狀態(tài)服務(wù)相比,它多了集群管理的需求。為此開發(fā)了一套以為核心的全新特性,方便了有狀態(tài)集群服務(wù)在上的部署和管理。

2016年12月2日,時速云架構(gòu)師張壽紅應(yīng)邀參加ArchSummit2016全球架構(gòu)師峰會,并在微服務(wù)與容器實踐專場做了《Kubernetes有狀態(tài)集群服務(wù)部署與管理》的干貨分享。

現(xiàn)場演講圖

由于篇幅關(guān)系,第一部分Kubernetes相關(guān)概念略過不提,本文將結(jié)合分享內(nèi)容,對《Kubernetes有狀態(tài)服務(wù)部署與管理》之K8S存儲系統(tǒng)做重點闡述。對K8S有狀態(tài)服務(wù)特性:Init ContainerPet Set感興趣的伙伴,請關(guān)注《Kubernetes有狀態(tài)集群服務(wù)部署與管理(下)》

在K8S運行的服務(wù),從簡單到復(fù)雜可以分成三類:無狀態(tài)服務(wù)、普通有狀態(tài)服務(wù)和有狀態(tài)集群服務(wù)。下面分別來看K8S是如何運行這三類服務(wù)的。

無狀態(tài)服務(wù),K8S使用RC(或更新的Replica Set)來保證一個服務(wù)的實例數(shù)量,如果說某個Pod實例由于某種原因Crash了,RC會立刻用這個Pod的模版新啟一個Pod來替代它,由于是無狀態(tài)的服務(wù),新啟的Pod與原來健康狀態(tài)下的Pod一模一樣。在Pod被重建后它的IP地址可能發(fā)生變化,為了對外提供一個穩(wěn)定的訪問接口,K8S引入了Service的概念。一個Service后面可以掛多個Pod,實現(xiàn)服務(wù)的高可用。

普通有狀態(tài)服務(wù),和無狀態(tài)服務(wù)相比,它多了狀態(tài)保存的需求。Kubernetes提供了以Volume和Persistent Volume為基礎(chǔ)的存儲系統(tǒng),可以實現(xiàn)服務(wù)的狀態(tài)保存。

有狀態(tài)集群服務(wù),與普通有狀態(tài)服務(wù)相比,它多了集群管理的需求。K8S為此開發(fā)了一套以Pet Set為核心的全新特性,方便了有狀態(tài)集群服務(wù)在K8S上的部署和管理。具體來說是通過Init Container來做集群的初始化工作,用 Headless Service 來維持集群成員的穩(wěn)定關(guān)系,用動態(tài)存儲供給來方便集群擴容,最后用Pet Set來綜合管理整個集群。

要運行有狀態(tài)集群服務(wù)要解決的問題有兩個,一個是狀態(tài)保存,另一個是集群管理。 我們先來看如何解決第一個問題:狀態(tài)保存。Kubernetes 有一套以Volume插件為基礎(chǔ)的存儲系統(tǒng),通過這套存儲系統(tǒng)可以實現(xiàn)應(yīng)用和服務(wù)的狀態(tài)保存。

K8S的存儲系統(tǒng)從基礎(chǔ)到高級又大致分為三個層次:普通Volume,Persistent Volume 和動態(tài)存儲供應(yīng)。

1.普通Volume

最簡單的普通Volume是單節(jié)點Volume。它和Docker的存儲卷類似,使用的是Pod所在K8S節(jié)點的本地目錄。

第二種類型是跨節(jié)點存儲卷,這種存儲卷不和某個具體的K8S節(jié)點綁定,而是獨立于K8S節(jié)點存在的,整個存儲集群和K8S集群是兩個集群,相互獨立。

跨節(jié)點的存儲卷在Kubernetes上用的比較多,如果已有的存儲不能滿足要求,還可以開發(fā)自己的Volume插件,只需要實現(xiàn)Volume.go 里定義的接口。如果你是一個存儲廠商,想要自己的存儲支持Kubernetes 上運行的容器,就可以去開發(fā)一個自己的Volume插件。

2.persistent volume

它和普通Volume的區(qū)別是什么呢?

普通Volume和使用它的Pod之間是一種靜態(tài)綁定關(guān)系,在定義Pod的文件里,同時定義了它使用的Volume。Volume 是Pod的附屬品,我們無法多帶帶創(chuàng)建一個Volume,因為它不是一個獨立的K8S資源對象。

而Persistent Volume 簡稱PV是一個K8S資源對象,所以我們可以多帶帶創(chuàng)建一個PV。它不和Pod直接發(fā)生關(guān)系,而是通過Persistent Volume Claim,簡稱PVC來實現(xiàn)動態(tài)綁定。Pod定義里指定的是PVC,然后PVC會根據(jù)Pod的要求去自動綁定合適的PV給Pod使用。

PV的訪問模式有三種:

第一種,ReadWriteOnce:是最基本的方式,可讀可寫,但只支持被單個Pod掛載。

第二種,ReadOnlyMany:可以以只讀的方式被多個Pod掛載。

第三種,ReadWriteMany:這種存儲可以以讀寫的方式被多個Pod共享。不是每一種存儲都支持這三種方式,像共享方式,目前支持的還比較少,比較常用的是NFS。在PVC綁定PV時通常根據(jù)兩個條件來綁定,一個是存儲的大小,另一個就是訪問模式。

剛才提到說PV與普通Volume的區(qū)別是動態(tài)綁定,我們來看一下這個過程是怎樣的。

這是PV的生命周期,首先是Provision,即創(chuàng)建PV,這里創(chuàng)建PV有兩種方式,靜態(tài)和動態(tài)。所謂靜態(tài),是管理員手動創(chuàng)建一堆PV,組成一個PV池,供PVC來綁定。動態(tài)方式是通過一個叫 Storage Class的對象由存儲系統(tǒng)根據(jù)PVC的要求自動創(chuàng)建。

一個PV創(chuàng)建完后狀態(tài)會變成Available,等待被PVC綁定。

一旦被PVC邦定,PV的狀態(tài)會變成Bound,就可以被定義了相應(yīng)PVC的Pod使用。

Pod使用完后會釋放PV,PV的狀態(tài)變成Released。

變成Released的PV會根據(jù)定義的回收策略做相應(yīng)的回收工作。有三種回收策略,Retain、Delete 和 Recycle。Retain就是保留現(xiàn)場,K8S什么也不做,等待用戶手動去處理PV里的數(shù)據(jù),處理完后,再手動刪除PV。Delete 策略,K8S會自動刪除該PV及里面的數(shù)據(jù)。Recycle方式,K8S會將PV里的數(shù)據(jù)刪除,然后把PV的狀態(tài)變成Available,又可以被新的PVC綁定使用。

在實際使用場景里,PV的創(chuàng)建和使用通常不是同一個人。這里有一個典型的應(yīng)用場景:管理員創(chuàng)建一個PV池,開發(fā)人員創(chuàng)建Pod和PVC,PVC里定義了Pod所需存儲的大小和訪問模式,然后PVC會到PV池里自動匹配最合適的PV給Pod使用。

前面在介紹PV的生命周期時,提到PV的供給有兩種方式,靜態(tài)和動態(tài)。其中動態(tài)方式是通過StorageClass來完成的,這是一種新的存儲供應(yīng)方式。

使用StorageClass有什么好處呢?除了由存儲系統(tǒng)動態(tài)創(chuàng)建,節(jié)省了管理員的時間,還有一個好處是可以封裝不同類型的存儲供PVC選用。在StorageClass出現(xiàn)以前,PVC綁定一個PV只能根據(jù)兩個條件,一個是存儲的大小,另一個是訪問模式。在StorageClass出現(xiàn)后,等于增加了一個綁定維度。

比如這里就有兩個StorageClass,它們都是用谷歌的存儲系統(tǒng),但是一個使用的是普通磁盤,我們把這個StorageClass命名為slow。另一個使用的是SSD,我們把它命名為fast。

在PVC里除了常規(guī)的大小、訪問模式的要求外,還通過annotation指定了Storage Class的名字為fast,這樣這個PVC就會綁定一個SSD,而不會綁定一個普通的磁盤。

到這里Kubernetes的整個存儲系統(tǒng)就都介紹完了??偨Y(jié)一下,兩種存儲卷:普通Volume 和Persistent Volume。普通Volume在定義Pod的時候直接定義,Persistent Volume通過Persistent Volume Claim來動態(tài)綁定。PV可以手動創(chuàng)建,也可以通過StorageClass來動態(tài)創(chuàng)建。

Tips: 關(guān)注時速云公眾號(tenxcloud2),回復(fù) "1206 "即可獲得下載現(xiàn)場PPT。

下篇文章將介紹Kubernetes與有狀態(tài)集群服務(wù)相關(guān)的兩個新特性:Init Container 和 Pet Set。敬請關(guān)注!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/32531.html

相關(guān)文章

  • 干貨速遞Kubernetes狀態(tài)集群服務(wù)部署管理(下)

    摘要:千呼萬喚始出來,有狀態(tài)集群服務(wù)部署與管理下將著重介紹與有狀態(tài)集群服務(wù)相關(guān)的兩個新特性和。把這些特性和有狀態(tài)集群服務(wù)關(guān)聯(lián)起來串一下,我們可以用來管理一個有狀態(tài)服務(wù)集群,里每個對應(yīng)集群的一個成員,集群的初始化可以用來完成。 千呼萬喚始出來,《Kubernetes有狀態(tài)集群服務(wù)部署與管理(下)》將著重介紹Kubernetes與有狀態(tài)集群服務(wù)相關(guān)的兩個新特性:Init Container 和 ...

    BDEEFE 評論0 收藏0
  • 干貨分享】云服務(wù)平臺的架構(gòu)及優(yōu)勢(

    摘要:來源商業(yè)新知網(wǎng),原標題干貨分享云服務(wù)平臺的架構(gòu)及優(yōu)勢上前言我們通常所說的云服務(wù)或云平臺廣義上是一個概念,但其實內(nèi)部是兩個部分。本期我們?yōu)槟庾x云平臺的業(yè)界概況和優(yōu)勢。來源商業(yè)新知網(wǎng),原標題:【干貨分享】云服務(wù)平臺的架構(gòu)及優(yōu)勢(上)前言 我們通常所說的云服務(wù)或云平臺廣義上是一個概念,但其實內(nèi)部是兩個部分。 1.支撐云服務(wù)運行的硬件和軟件系統(tǒng)環(huán)境(云架構(gòu)平臺,簡稱云平臺); 2.實現(xiàn)業(yè)務(wù)邏輯,支...

    xcc3641 評論0 收藏0
  • 超長干貨 | Kubernetes命名空間詳解

    摘要:使用命名空間的概念幫助解決集群中在管理對象時的復(fù)雜性問題。命名空間為集群中的對象名稱賦予作用域。同樣,命名空間范圍的策略允許運維人員為生產(chǎn)環(huán)節(jié)設(shè)置嚴格的權(quán)限。這會修改操作在活躍時應(yīng)用到的命名空間。 K8s使用命名空間的概念幫助解決集群中在管理對象時的復(fù)雜性問題。在本文中,會討論命名空間的工作原理,介紹常用實例,并分享如何使用命名空間來管理K8s對象。最后,介紹名為projects的Ra...

    wpw 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<