如何配置K8S存儲集群?

https://v.qq.com/x/page/q0976bknoii.html

歡迎回到Portworx系列講解視頻。我是Ryan Wallner。今天我們來介紹如何配置Portworx存儲集群。這里我們概要性的對Kubernetes和Portworx的結(jié)構(gòu)進行介紹,如何在Kubernetes上配置Portworx集群,以及正確安裝Portworx需要哪些命令和參數(shù)。這里我們有一組已經(jīng)配置好的高可用的Kubernetesmaster節(jié)點,一組worker節(jié)點,在這些節(jié)點上我們來安裝Portworx。

Portworx需要一些資源的支撐。每一個worker節(jié)點都需要有CPU,不論是本地裸金屬,還是云端,至少需要4個核以上的CPU。根據(jù)工作負載的不同,也許會需要更多核的CPU,例如運行一組數(shù)據(jù)庫,4個核就不夠了。最少的情況下我們需要4個核。內(nèi)存建議至少4G。

跟CPU的核數(shù)一樣,內(nèi)存越大計算能力越強。可以根據(jù)自身的成本預(yù)算和負載的內(nèi)存需求情況,來配置合適的資源供Kubernetes使用。但是運行Portworx,就需要滿足4核CPU和4G內(nèi)存的最小要求。因為Portworx是一個持久存儲和數(shù)據(jù)管理系統(tǒng),因此需要磁盤和驅(qū)動做支撐。

磁盤需要至少8G,我們推薦128G。4個節(jié)點的話,8G顯得有點少。如果每個節(jié)點有128G,就能夠有一個不錯容量的存儲池,來支撐存儲系統(tǒng)。目前來看,還很少有為節(jié)點配置1TB以上。還要看運行的應(yīng)用和需要的情況來定。網(wǎng)絡(luò)方面,我們推薦10G的內(nèi)部網(wǎng)絡(luò)互聯(lián)。

存在一個管理網(wǎng)絡(luò)和一個數(shù)據(jù)網(wǎng)絡(luò)。你可以把數(shù)據(jù)aka的復(fù)制、和應(yīng)用的存儲IO分配到不同的網(wǎng)絡(luò)上。一個數(shù)據(jù)網(wǎng)絡(luò)會存在,我們標記為D,還會存在一個管理網(wǎng)絡(luò),我們標記為M。因此管理網(wǎng)絡(luò)和數(shù)據(jù)網(wǎng)絡(luò)都可以通過網(wǎng)絡(luò)進行連接。這些使你可以把I/O和數(shù)據(jù)流量進行分配。我們接下來介紹一下如何配置,需要確保數(shù)據(jù)網(wǎng)絡(luò)至少是10G互聯(lián)的。管理網(wǎng)絡(luò)可以稍微低一些。Portworx的端口,需要9001到9021,這個范圍可以配置的,這是默認的配置范圍。除非有其他的端口沖突,就不要改變這些端口范圍,它們是默認的Portworx通訊的端口。

對于Kernel版本,你至少需要3.10為Linux操作系統(tǒng)的版本,因為我們使用了很多更新的Linux Kernel集成、工作流和數(shù)據(jù)流等功能。鍵值存儲數(shù)據(jù)庫,etcd是最常見的,以及HashiCorp的Consul也可以選用。是的,Kubernetes集群在Master節(jié)點上運行etcd,注意鍵值數(shù)據(jù)庫完全是分開的。

我在這里標記一下etcd,它通過網(wǎng)絡(luò)會被附加到Portworx上,并且是獨立的。它保存集群信息,元數(shù)據(jù)這些。對于一些有一定規(guī)模的集群,比如20或者25個節(jié)點的Portworx,我們推薦外部數(shù)據(jù)庫,鍵值存儲數(shù)據(jù)庫,因為它會把I/O和CPU的資源放在外部系統(tǒng)上以及保持它們在獨立的錯誤域里。

好的方法是保持一個獨立的錯誤域,并且在配置過程中保持存有備份和快照,這樣出現(xiàn)問題的時候可以恢復(fù)etcd數(shù)據(jù)庫。對Kubernetes etcd數(shù)據(jù)庫也可以這樣操作。我們來介紹這兩種方式。一種方式是有一個build-in的鍵值存儲,這意味著Portworx可以自動工作,不需要人工干預(yù),可以自動進行快照,也可以備份和恢復(fù),但這是在20~25個Portworx節(jié)點的情況?,F(xiàn)在對于Portworx所需資源有了一個整體了解,我們在介紹如何來配置它。我首先需要來介紹一下-C option,我來展示一個例子,來看在Kubernetes部署中是什么樣的,或者Portworx運行中的DaemonSet。這樣從命令行和EMO的角度我們就能更好的理解。


-C是我們的集群名稱,你可以有其他的命名,但是不要有重復(fù)。因為如果用同樣的名字,在應(yīng)用分布和在etcd中配置的過程中,可能會出現(xiàn)沖突。所以確保集群名稱是不重復(fù)的,這非常重要。我們接下來介紹存儲,我們數(shù)據(jù)存儲的選項。這里有一些,我們來看一下,你至少需要配置一項來定義你的存儲磁盤或者后端存儲,可以是本地的8G或者128G的磁盤驅(qū)動器,或者是云端存儲驅(qū)動,例如SAN附加存儲。不論是什么情況,-S都需要被使用,來指向一個特定的磁盤驅(qū)動:dev/sdb。你可以列出它們的名稱,或者通過一個卷模板來使用。現(xiàn)在我來連接到卷模板,這是在云中來使用的,我想要使用gb2,有200G的卷,這會被認為是一個模板。Portworx會自動的與云的API進行溝通、部署、并且附加到Portworx worker節(jié)點上。

-Z是一個零存儲節(jié)點。使用的情況是,如果你想要Portworx節(jié)點來加入到Portworx集群,也就是說著它需要附加\mount卷、并且允許應(yīng)用具備I/O和使用卷。但是它不會給存儲集群貢獻更多的存儲,也就是說它也不需要有磁盤。所以這就是-Z,零存儲節(jié)點。-A,可以提供我們需要的所有功能。如果Portworx需要查詢來看到底有多少沒有被mount的未被使用的磁盤驅(qū)動。你可以增加-F,表示可以強制使用任何有文件系統(tǒng)的磁盤驅(qū)動。


這些是典型的操作中使用的參數(shù)。我們再來介紹一下數(shù)據(jù)網(wǎng)絡(luò)和管理網(wǎng)絡(luò)。配置時為數(shù)據(jù)網(wǎng)絡(luò)使用-D,為管理網(wǎng)絡(luò)使用-M。eth0,eth1這些。另外還有一個比較重要的就是 -X,這是你的調(diào)度器?!罢埜嬖V我的Kubernetes調(diào)度器來做更多的工作”。


我們介紹了STORK,有一個單獨的視頻介紹STORK,它是Kubernetes的存儲調(diào)度器,與Kubernetes的調(diào)度器緊密集成。鍵值存儲,會是IP和端口。通常運行在2379端口。也許是負載均衡器的IP地址,或者是etcd數(shù)據(jù)庫的虛擬IP地址。如果你不想要使用外部數(shù)據(jù)庫,你就不能使用 -b。-b表示使用內(nèi)部的etcd數(shù)據(jù)庫,或者是鍵值存儲數(shù)據(jù)庫。Portworx會自動的用高可用方式部署鍵值。高可用鍵值存儲在至少3個節(jié)點上,并且配置壓縮存儲。如果低于20/25個節(jié)點,你可能就想使用-b,因為不論你是否想保持對etcd集群的感知,或者對集群本身的感知,可以留給Portworx來自動完成。

還有一些其他的部分,如果你想要使用-b,你需要配置一個元數(shù)據(jù)標志,表示這些是專門為鍵值存儲數(shù)據(jù)庫發(fā)送元數(shù)據(jù)I/O使用的驅(qū)動,所以它與數(shù)據(jù)I/O是分開的磁盤。還有就是緩存設(shè)備,它允許你在這些節(jié)點上選擇最快的驅(qū)動。如果這些Portworx節(jié)點中的某一個使用GB2卷,在服務(wù)器上有一個NVMe或者一個io1類型的磁盤,就會比普通的驅(qū)動要快很多。

你可以使用它作為緩存設(shè)備,被Portworx作為緩存來使用??偨Y(jié)一下這些重要的標簽。- C是集群名稱。-A可用來獲取磁盤。-Z代表零存儲節(jié)點。S代表確定的存儲,意味著磁盤模板或者存儲設(shè)備本身。-D表示數(shù)據(jù)網(wǎng)絡(luò)。-M表示管理網(wǎng)絡(luò)。-X代表調(diào)度器或者Swarm,或者Kubernetes。-K代表外部鍵值存儲。-b代表內(nèi)部鍵值存儲數(shù)據(jù)庫、緩存設(shè)備、或者配置緩存設(shè)備/緩存元數(shù)據(jù),供內(nèi)部鍵值存儲使用。

另外還有一些,我在這里就不再詳細敘述,我們有spec生成器,你可以通過central.portworx.com來訪問。你使用spec生成器的時候,它會用圖形界面指導(dǎo)你來選擇使用這些參數(shù)。以上我們介紹了在配置Portworx存儲集群中需要考慮的一些方面,希望對您有幫助。謝謝!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容