自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深度解讀:金融企業(yè)容器云平臺(tái)存儲(chǔ)如何選型?

云計(jì)算 云原生
CSI英文全稱是Container Storage Interface,是容器編排系統(tǒng)(COS)上通用的容器存儲(chǔ)接口,第三方存儲(chǔ)廠商可以通過編寫CSI插件來將其文件存儲(chǔ)和塊存儲(chǔ)提供給K8S上容器化的工作負(fù)載,而無需修改K8S的核心代碼。

?1.容器云平臺(tái)及容器云存儲(chǔ)

云平臺(tái)中IaaS/PaaS是目前云技術(shù)應(yīng)用相對(duì)較廣的兩部分能力,其中PaaS在IaaS的基礎(chǔ)上,提供中間件、數(shù)據(jù)庫(kù),以及容器云等便捷部署和運(yùn)維能力,中間件和數(shù)據(jù)庫(kù)可以提供虛擬機(jī)部署形態(tài),也可以提供容器資源部署。容器是私有云中一種常見的基礎(chǔ)環(huán)境,容器云作為常常是私有云中的PaaS中組件出現(xiàn)或者以單獨(dú)的容器云形態(tài)出現(xiàn)。從容器自身來說,其提供的是IaaS層基礎(chǔ)計(jì)算能力,且常用于無狀態(tài)應(yīng)用,容器消亡后無法保存消亡時(shí)的狀態(tài)?,F(xiàn)在大家常見的容器技術(shù)一般是指符合開放容器計(jì)劃OCI(Open Container Initiative)標(biāo)準(zhǔn)與規(guī)范的容器技術(shù),除了最常見的Docker之外,還有Podman,Containerd,CRI-O。相對(duì)來說,目前Docker相對(duì)應(yīng)用更為廣泛,是一種最為常見的容器引擎,金融行業(yè)通常使用K8S來進(jìn)行容器的編排管理,實(shí)現(xiàn)容器調(diào)度,容器技術(shù)的應(yīng)用為PaaS平臺(tái)的實(shí)現(xiàn)提供了一種新的資源形態(tài)。K8S是一個(gè)可移植的、可擴(kuò)展的開源平臺(tái),用于管理容器化的工作負(fù)載和服務(wù),可促進(jìn)聲明式配置和自動(dòng)化。在金融私有云中,通常采用租戶進(jìn)行IaaS資源的隔離以及容器集群資源的隔離,一個(gè)租戶可以配置一個(gè)或者多個(gè)K8S集群,用于運(yùn)行不同的應(yīng)用系統(tǒng),容器加上云計(jì)算租戶功能,則可以實(shí)現(xiàn)容器云平臺(tái)功能。

目前在城商行使用了容器云的,更多是用于部署應(yīng)用層的一些組件,在涉及一些需要進(jìn)行彈性伸縮的業(yè)務(wù)場(chǎng)景,例如秒殺、活動(dòng)優(yōu)惠等敏態(tài)業(yè)務(wù),則采用容器部署應(yīng)用app層的一些純Java程序、中間件、無狀態(tài)的Redis集群等,此外也會(huì)逐步碰到一些場(chǎng)景,需要我們的容器平臺(tái)能保存狀態(tài),我們部署MySQL、Redis等數(shù)據(jù)庫(kù),需要對(duì)這些數(shù)據(jù)庫(kù)產(chǎn)生的數(shù)據(jù)做備份。

2.K8S 存儲(chǔ)系統(tǒng)介紹:

說起容器的存儲(chǔ),需要先了解CSI/PV/PVC/StorageClass的幾個(gè)基本概念。

2.1 CSI

CSI英文全稱是Container Storage Interface,是容器編排系統(tǒng)(COS)上通用的容器存儲(chǔ)接口,第三方存儲(chǔ)廠商可以通過編寫CSI插件來將其文件存儲(chǔ)和塊存儲(chǔ)提供給K8S上容器化的工作負(fù)載,而無需修改K8S的核心代碼。K8S作為事實(shí)上的容器編排(CO)標(biāo)準(zhǔn),對(duì)CSI持久化存儲(chǔ)接口的支持已經(jīng)可以商用。K8S的V1.13版本已經(jīng)支持了GA版本的CSI組件。目前K8S主要持久化存儲(chǔ)主要通過該標(biāo)準(zhǔn)接口進(jìn)行對(duì)接。

在Pod創(chuàng)建過程中,通過指定創(chuàng)建外部卷存儲(chǔ),PVC通過StorageClass的動(dòng)態(tài)供給生成對(duì)應(yīng)綁定的PV,PV的創(chuàng)建與綁定由CSI來進(jìn)行。這時(shí)候CSI就可以自己定義如何加載一個(gè)卷,如何掛載一個(gè)卷。

2.2 PV以及PVC

PV全稱叫做Persistent Volume,持久化存儲(chǔ)卷。它是用來描述或者說用來定義一個(gè)存儲(chǔ)卷的。PV一般由運(yùn)維來創(chuàng)建。PV有2個(gè)重要的參數(shù),分別是accessModes和PersistentVolumeReclaimPolicy。

accessModes:支持四種類型,第一種是ReadWriteMany多路讀寫,卷能被集群多個(gè)節(jié)點(diǎn)掛載并讀寫。第二種是ReadWriteOnce單路讀寫,卷只能被單一集群節(jié)點(diǎn)掛載讀寫。第三種是ReadOnlyMany多路只讀,卷能被多個(gè)集群節(jié)點(diǎn)掛載且只能讀。第四種是新增特性ReadWriteOncePod,該卷只能被被單一節(jié)點(diǎn)的單一Pod掛載為讀寫模式,當(dāng)一個(gè)帶有pvc訪問模式為ReadWriteOncePod的Pod A時(shí),K8S確保整個(gè)集群內(nèi)只有一個(gè)Pod可讀寫該P(yáng)VC,如再創(chuàng)建Pod B并引用了與Pod A相同的PVC(ReadWriteOncePod)時(shí),Pod B則會(huì)由于該pvc被Pod A引用而啟動(dòng)失敗。

PersistentVolumeReclaimPolicy:也有三種策略,這個(gè)策略是當(dāng)與之關(guān)聯(lián)的PVC被刪除以后,這個(gè)PV中的數(shù)據(jù)如何被處理。

(1)Retain手動(dòng)重新使用,生產(chǎn)系統(tǒng)中,因通常存儲(chǔ)上都是需要保留的數(shù)據(jù)、日志等,最為常用。Retain當(dāng)刪除與之綁定的PVC時(shí)候,這個(gè)PV被標(biāo)記為released(PVC與PV解綁但還沒有執(zhí)行回收策略)且之前的數(shù)據(jù)依然保存在該P(yáng)V上,但是該P(yáng)V不可用,需要手動(dòng)來處理這些數(shù)據(jù)并刪除該P(yáng)V。

(2)Recycle,回收策略Recycle會(huì)在卷上執(zhí)行一些基本的擦除 (rm -rf /thevolume/*)操作,之后允許該卷用于新的 PVC 申領(lǐng)。

(3)Delete對(duì)于支持Delete回收策略的卷插件,刪除動(dòng)作會(huì)將PersistentVolume對(duì)象從K8S中移除,同時(shí)也會(huì)從外部基礎(chǔ)設(shè)施(如AWS EBS、GCE PD、Azure Disk或Cinder卷)中移除所關(guān)聯(lián)的存儲(chǔ)資產(chǎn)。動(dòng)態(tài)制備的卷會(huì)繼承其StorageClass中設(shè)置的回收策略, 該策略默認(rèn)為Delete。

PVC是用來描述希望使用什么樣的或者說是滿足什么條件的存儲(chǔ),它的全稱是Persistent Volume Claim,也就是持久化存儲(chǔ)聲明。開發(fā)人員使用這個(gè)來描述該容器需要一個(gè)什么存儲(chǔ)。比如下面使用NFS的PVC:PV是已有存儲(chǔ),PVC是需要的存儲(chǔ),兩者要形成配對(duì)需要下面2個(gè)條件:

PV和PVC中的spec關(guān)鍵字段要匹配,比如存儲(chǔ)(storage)大小,PV里的存儲(chǔ)容量不能小于PVC里聲明的。

PV和PVC中的storageClassName字段必須一致。

2.3 StorageClass

StorageClass提供了一種描述存儲(chǔ)類(class)的方法,不同的class可能會(huì)映射到不同的服務(wù)質(zhì)量等級(jí)和備份策略或其他策略。PV是運(yùn)維人員來創(chuàng)建的,用戶操作PVC,可是大規(guī)模集群中可能會(huì)有很多PV,如果這些PV都需要運(yùn)維手動(dòng)來處理這也是一件很繁瑣的事情,所以就有了動(dòng)態(tài)供給(Dynamic Provisioning)概念,而動(dòng)態(tài)供給的關(guān)鍵就是StorageClass,它的作用就是創(chuàng)建PV模板。創(chuàng)建StorageClass里面需要定義PV屬性比如存儲(chǔ)類型、大小等;另外創(chuàng)建這種PV需要用到存儲(chǔ)插件。最終效果是,用戶提交PVC,里面指定存儲(chǔ)類型,如果符合我們定義的StorageClass,則會(huì)為其自動(dòng)創(chuàng)建PV并進(jìn)行綁定。

3.容器云存儲(chǔ)類型選型需求分析

在容器云中,我們對(duì)K8S中部署的應(yīng)用都是以Pod容器的形式運(yùn)行的,因?yàn)镻od是無狀態(tài)的,如果Pod不掛載數(shù)據(jù)卷,那Pod被刪除或重啟后這些數(shù)據(jù)會(huì)隨之消失,如果想要長(zhǎng)久的保留這些數(shù)據(jù)就要用到Pod數(shù)據(jù)持久化存儲(chǔ)。針對(duì)業(yè)務(wù)場(chǎng)景不同進(jìn)行分類,容器云對(duì)于存儲(chǔ)的需求可以分為非持久化存儲(chǔ)和持久化存儲(chǔ)兩種。

除了希望數(shù)據(jù)不在Pod重啟后丟失,有時(shí)候也需要在Pod間共享文件。因此,衍生了Pod存儲(chǔ)持久化的話題。在云平臺(tái)的容器云中,都提供了一些方案來解決容器掛載持久化存儲(chǔ)的問題,但是主要都是通過K8S提出的Volume對(duì)象方案進(jìn)行封裝來解決該問題。

3.1 容器云非持久化存儲(chǔ)需求

容器云容器運(yùn)行在物理或者虛擬服務(wù)器上,需要使用到容器應(yīng)用的有鏡像倉(cāng)庫(kù)和運(yùn)行態(tài)容器實(shí)例,以及一些容器產(chǎn)生的日志等。容器云需要使用存儲(chǔ)的場(chǎng)景有:

1、容器實(shí)例的創(chuàng)建和運(yùn)行。容器創(chuàng)建實(shí)例時(shí)需要使用到一定的存儲(chǔ)空間,每個(gè)容器需求空間的大小根據(jù)容器個(gè)數(shù)以及容器中部署的基礎(chǔ)環(huán)境及容器應(yīng)用確定。整體容器工作節(jié)點(diǎn)的存儲(chǔ)空間大小根據(jù)運(yùn)行的容器類型以及容器個(gè)數(shù)決定。值得注意的是,單個(gè)工作節(jié)點(diǎn)的大小要能覆蓋可能運(yùn)行在該節(jié)點(diǎn)上容器的空間的總和。用于存儲(chǔ)運(yùn)行態(tài)容器的存儲(chǔ)空間,對(duì)性能要求要相對(duì)高,能支持容器的快速動(dòng)態(tài)伸縮和文件的快速讀寫。

2、一些不需要持久化存儲(chǔ)的文件,例如容器應(yīng)用運(yùn)行過程中生成的一些臨時(shí)文件。

通常使用容器運(yùn)行的是敏態(tài)業(yè)務(wù),敏態(tài)業(yè)務(wù)的特點(diǎn),總結(jié)起來通常是支持業(yè)務(wù)高并發(fā)、支持容器在多個(gè)工作節(jié)點(diǎn)上啟動(dòng)或者停止的彈性伸縮;針對(duì)以上特點(diǎn),容器對(duì)非持久性存儲(chǔ)的要求主要集中在性能層面,對(duì)于空間要求并不高,但是要求工作節(jié)點(diǎn)能便捷的識(shí)別并且具備較好的IOPS并發(fā)讀寫能力。非持久化存儲(chǔ)采用本地硬盤或者集中式存儲(chǔ)映射的塊存儲(chǔ)較多,只要工作節(jié)點(diǎn)能識(shí)別就可以滿足要求。

3.2 容器云持久化存儲(chǔ)需求

銀行業(yè)中,過去主要運(yùn)行一些內(nèi)部管理或者業(yè)務(wù)量較少的邊緣應(yīng)用,近年隨著容器技術(shù)成熟,銀行中越來越多重要交易業(yè)務(wù)也開始使用容器來支撐生產(chǎn)交易,因此容器使用持久化存儲(chǔ)的場(chǎng)景越來越多,主要使用場(chǎng)景有如下幾類:(1)應(yīng)用文件,例如圖片、文檔等持久化存儲(chǔ)。此類存儲(chǔ)在銀行業(yè)務(wù)中,常見的是用于保存用戶申請(qǐng)、填單、業(yè)務(wù)發(fā)生時(shí)錄像等重要憑據(jù)的保存,在容器消亡后需要長(zhǎng)期保存,并歸檔入庫(kù)的。(2)業(yè)務(wù)日志持久化存儲(chǔ),容器中如果是重要業(yè)務(wù),則業(yè)務(wù)產(chǎn)生的流水日志、操作日志等需要保存下來,便于進(jìn)行一些后續(xù)系統(tǒng)故障分析、系統(tǒng)優(yōu)化的依據(jù)。(3)kafka、Redis等組件數(shù)據(jù)持久化存儲(chǔ),例如多個(gè)容器需要同時(shí)讀寫一個(gè)消息隊(duì)列,并且應(yīng)用重啟后,隊(duì)列中的未消費(fèi)消息需要處理完?;蛘遰edis數(shù)據(jù)庫(kù)中的數(shù)據(jù),需要長(zhǎng)期保存。(4)鏡像倉(cāng)庫(kù),鏡像倉(cāng)庫(kù)是用來保存所有創(chuàng)建好的鏡像統(tǒng)一存儲(chǔ)的位置,主要保存測(cè)試及生產(chǎn)中常用的容器鏡像。容器鏡像是一個(gè)個(gè)靜態(tài)只讀文件,其中包含有關(guān)創(chuàng)建Docker容器的說明。容器鏡像倉(cāng)庫(kù)存儲(chǔ)的要求主要是空間要求,對(duì)性能要求不高。

如果容器應(yīng)用是需要使用持久化存儲(chǔ),對(duì)于持久化存儲(chǔ)需求的主要特性如下:(1)持久化需求:生產(chǎn)系統(tǒng)業(yè)務(wù)日志,業(yè)務(wù)分析的基礎(chǔ),永久保存。(2)Pod漂移后,通過另外節(jié)點(diǎn)掛載同一塊存儲(chǔ)實(shí)現(xiàn)狀態(tài)數(shù)據(jù)遷移。(3)共享存儲(chǔ)需求:業(yè)務(wù)文件、圖片分布式共享需求。(4)擴(kuò)容需求:存儲(chǔ)靈活擴(kuò)容需求,容器節(jié)點(diǎn)靈活擴(kuò)容、遷移能力需求。(5)性能需求:應(yīng)用文件,例如圖片、文檔等寫入性能直接關(guān)系到業(yè)務(wù)系統(tǒng)的并發(fā)支撐能力。(6)安全、高可用需求:須內(nèi)網(wǎng)存儲(chǔ),保證雙中心架構(gòu)。

4.容器云支持的存儲(chǔ)類型

容器的存儲(chǔ)選型也包含持久化和非持久化兩類,容器云支持的存儲(chǔ)類型也比較豐富,包括ISCSI/FC等映射的塊存儲(chǔ),NFS文件系統(tǒng),對(duì)象存儲(chǔ)系統(tǒng),AWS等公有云存儲(chǔ)服務(wù),還有EmptyDir,HostPath等K8S內(nèi)置存儲(chǔ)類型。其中目前常見的主要是NFS映射文件系統(tǒng),以及Hostpath內(nèi)置存儲(chǔ)。Cephfs等分布式對(duì)象存儲(chǔ)系統(tǒng),因其靈活擴(kuò)容能力和海量存儲(chǔ)特性,目前有部分用戶用于進(jìn)行容器備份。

其中HostPath Volume是指Pod掛載宿主機(jī)上的目錄或文件。HostPath Volume使得容器可以使用宿主機(jī)的文件系統(tǒng)進(jìn)行存儲(chǔ),Hostpath(宿主機(jī)路徑)是節(jié)點(diǎn)級(jí)存儲(chǔ)卷,在Pod被刪除后存儲(chǔ)卷仍然存在Pod運(yùn)行worknode上不會(huì)被刪除,只要同一個(gè)Pod被調(diào)度到該節(jié)點(diǎn)上,在 Pod 被刪除重新被調(diào)度到這個(gè)節(jié)點(diǎn)之后,對(duì)應(yīng)的數(shù)據(jù)依然是存在的。Hostpath存儲(chǔ)卷缺點(diǎn)在于Pod刪除之后重新創(chuàng)建必須調(diào)度到同一個(gè)node節(jié)點(diǎn),數(shù)據(jù)才不會(huì)丟失,對(duì)于多個(gè)node的場(chǎng)景,是不合適采用的。

EmptyDir類型的Volume是在Pod分配到Node上時(shí)被創(chuàng)建,K8S會(huì)在Node上自動(dòng)分配一個(gè)目錄,因此無需指定宿主機(jī)Node上對(duì)應(yīng)的目錄文件。這個(gè)目錄的初始內(nèi)容為空,當(dāng)Pod從Node上移除時(shí),EmptyDir中的數(shù)據(jù)會(huì)被永久刪除。EmptyDir Volume主要用于某些應(yīng)用程序無需永久保存的臨時(shí)目錄,多個(gè)容器的共享目錄等,但是如果是需要進(jìn)行持久化存儲(chǔ),則不合適采用。

4.1 非持久化存儲(chǔ)選型經(jīng)驗(yàn)

如果采用非持久化存儲(chǔ),應(yīng)用場(chǎng)景包括高IO、低延時(shí)場(chǎng)景,主要采用本地存儲(chǔ)和塊存儲(chǔ)兩種類型,考慮性能和連接方式,可以本地硬盤構(gòu)建HostPath或者集中式塊存儲(chǔ),相對(duì)來說IOPS以及帶寬都較高,本地SAS接口硬盤組或者FC提供的LUN吞吐通??梢赃_(dá)到1GB以上,基本可以滿足單臺(tái)工作節(jié)點(diǎn)的容器集群io需求。如果采用工作節(jié)點(diǎn)的本地硬盤,則建議通過Raid卡配置Raid5以上保證存儲(chǔ)一定的容錯(cuò)能力,雖然K8S集群本身具備單個(gè)容器實(shí)例的異常處理能力,但是因?yàn)楣ぷ鞴?jié)點(diǎn)單塊硬盤故障導(dǎo)致整個(gè)工作節(jié)點(diǎn)的文件系統(tǒng)異常從而導(dǎo)致該節(jié)點(diǎn)上容器服務(wù)批量中斷,在業(yè)務(wù)層面還是有所感知的,可能會(huì)帶來用戶的正常會(huì)話丟失,需要用戶重新登錄。建議配置Raid后,配置單硬盤的容錯(cuò)能力,提高整體業(yè)務(wù)系統(tǒng)的可靠性。

塊存儲(chǔ)設(shè)備適用于對(duì)IO、延遲要求較高的應(yīng)用場(chǎng)景,例如:數(shù)據(jù)庫(kù)、中間件等服務(wù)。在非共享場(chǎng)景中,塊存儲(chǔ)是獨(dú)享模式,同時(shí)只能給一個(gè)Pod使用,在非共享數(shù)據(jù)業(yè)務(wù)場(chǎng)景可以考慮使用塊存儲(chǔ)。適合有狀態(tài)應(yīng)用,每個(gè)副本一個(gè)存儲(chǔ)卷。如果采用塊存儲(chǔ),可以選擇集中式塊存儲(chǔ),也可以選擇分布式塊存儲(chǔ)。如果是采用集中式塊存儲(chǔ),則與傳統(tǒng)Iaas中的虛擬機(jī)或者裸機(jī)連接集中式存儲(chǔ)使用差別不大,通常采用FC網(wǎng)絡(luò)和ISCSI網(wǎng)絡(luò)進(jìn)行連接,但是在云平臺(tái)中,更多的是采用分布式存儲(chǔ),通過IPSAN映射至計(jì)算虛擬化服務(wù)器。分布式存儲(chǔ)可以提供塊存儲(chǔ)、對(duì)象存儲(chǔ)、nas存儲(chǔ)等多種存儲(chǔ)服務(wù)類型,可以采用SSD+HDD或全閃存配置硬盤組的方式提高分布式存儲(chǔ)的性能。

分布式塊存儲(chǔ)擴(kuò)展能力較好,常見協(xié)議有:isCSI。還有本地存儲(chǔ),塊存儲(chǔ)通常只支持RWO,比如AWSElasticBlockStore,AzureDisk,有些產(chǎn)品能做到支持ROX,比如GCEPersistentDisk,RBD,ScaleIO等。

4.2 持久化存儲(chǔ)選型建議

在選擇持久化存儲(chǔ)時(shí),在選型過程中建議考慮容器適應(yīng)業(yè)務(wù)場(chǎng)景、存儲(chǔ)的性能、是否支持K8S CSI、是否支持?jǐn)U容、是否支持克隆等角度進(jìn)行選型。目前持久化存儲(chǔ)常用的有NAS和對(duì)象存儲(chǔ)兩種。

(1)對(duì)象存儲(chǔ)

容器選用對(duì)象存儲(chǔ)的場(chǎng)景和選用NAS存儲(chǔ)的場(chǎng)景有一定重合之處,例如對(duì)于容器實(shí)例需要進(jìn)行文檔、圖片等小文件共享時(shí),可以考慮NAS和對(duì)象存儲(chǔ)兩種。但是面臨選擇時(shí)有一定區(qū)別,例如應(yīng)用如果是影像類系統(tǒng)、視頻庫(kù)管理類系統(tǒng)、圖片采集、分析等系統(tǒng)的話,存儲(chǔ)圖片數(shù)據(jù)量達(dá)到數(shù)PB級(jí)別,單個(gè)文件大小為MB級(jí)別以上,文件數(shù)量數(shù)萬(wàn)或者更高,則更推薦采用對(duì)象存儲(chǔ)。媒體、圖片等媒體文件只讀場(chǎng)景可以通過對(duì)象存儲(chǔ)讀取上述文件類型。對(duì)象存儲(chǔ)使用的過程中,一般不需要配置CSI,對(duì)象存儲(chǔ)不需要PV/PVC來做資源抽象,應(yīng)用可以直接訪問和使用只需要在應(yīng)用中配置對(duì)象存儲(chǔ)的地址,秘鑰等進(jìn)行讀寫。

(2)NAS存儲(chǔ)

NAS存儲(chǔ)支持多個(gè)容器讀取一個(gè)共享目錄并且長(zhǎng)期保存,如日志保存,將不同Pod副本的日志存在同一個(gè)目錄中,如共享文件,多個(gè)Pod同時(shí)讀寫問題。目前在城商行已有的案例中,較為常見的方案是采用集中式NAS存儲(chǔ)或者分布式NAS存儲(chǔ)提供持久化存儲(chǔ)服務(wù),劃分文件系統(tǒng)給容器云掛載PV卷。目前采用集中式或分布式NFS存儲(chǔ)提供持久化存儲(chǔ)服務(wù),能較好的滿足在穩(wěn)定性、高可用、靈活擴(kuò)容能力、便捷管理幾個(gè)方面的要求。其優(yōu)點(diǎn)有如下幾個(gè):

a、使用NAS提供持久化存儲(chǔ),相比Hostpath實(shí)現(xiàn)分布式應(yīng)用在多節(jié)點(diǎn)容器日志集中管理,降低日志管理復(fù)雜度,提高排障效率。

b、使用NAS存儲(chǔ)平臺(tái),可采用端口綁定的方式提升帶寬,保證高業(yè)務(wù)負(fù)載下的帶寬性能,支持業(yè)務(wù)的高并發(fā)。

c、使用NAS存儲(chǔ)平臺(tái),提供了具備高穩(wěn)定性、高容錯(cuò)能力的存儲(chǔ)服務(wù)。

容器在進(jìn)行彈性伸縮或者進(jìn)行故障恢復(fù)時(shí),同時(shí)將頻繁的發(fā)生存儲(chǔ)卷的掛載和卸載,為了保證整個(gè)生產(chǎn)環(huán)境的穩(wěn)定性,在進(jìn)行卷的掛載和卸載操作中需要保證足夠的穩(wěn)定性,同時(shí)也需要PV卷服務(wù)端能保證較高的性能,避免應(yīng)用延遲。采用專用的集中式存儲(chǔ)NFS可以提供較為穩(wěn)定、高性能的存儲(chǔ)服務(wù)。集中式存儲(chǔ)設(shè)備通過Raid、冗余存儲(chǔ)機(jī)頭、分布式集群多節(jié)點(diǎn)等能力,保證了硬件故障情況下的高穩(wěn)定性;當(dāng)NFS表現(xiàn)出性能不足的情況下,集中式存儲(chǔ)可采用增加端口綁定的方式提升帶寬,分布式存儲(chǔ)也同樣可以采用增加綁定端口提升帶寬,擴(kuò)容分布式節(jié)點(diǎn)提升整體集群存儲(chǔ)性能。

a、切實(shí)的容災(zāi)方案:重要業(yè)務(wù)需進(jìn)行多中心部署,通過使用NAS存儲(chǔ),實(shí)現(xiàn)多中心架構(gòu)的容器集群數(shù)據(jù)同步構(gòu)建,提供一種切實(shí)可行的重要業(yè)務(wù)容器化部署的容災(zāi)方案。通常銀行業(yè)會(huì)要求重要業(yè)務(wù)進(jìn)行兩地三中心部署,通過集中式存儲(chǔ)和分布式存儲(chǔ)本身的雙中心雙活能力,也可以構(gòu)建雙中心架構(gòu)的容器集群。

b、簡(jiǎn)易化運(yùn)維管理:隨著容器有狀態(tài)應(yīng)用的增長(zhǎng),對(duì)傳統(tǒng)存儲(chǔ)運(yùn)維工作也會(huì)帶來挑戰(zhàn),整體方案需要兼顧運(yùn)維敏捷和安全。集中式和分布式NAS存儲(chǔ)產(chǎn)品,均具備界面化、便捷的管理手段。采用NAS存儲(chǔ)產(chǎn)品,具備直觀的圖形界面,能進(jìn)行便捷的配置、切換管理,降低運(yùn)維的復(fù)雜性。

c、客戶端可以啟用用戶認(rèn)證機(jī)制,且數(shù)據(jù)是通過明文或者密文傳送,安全性相對(duì)較高(一般建議在局域網(wǎng)內(nèi)使用)

雖然NAS存儲(chǔ)有明顯的優(yōu)勢(shì),但是與其他類型對(duì)比時(shí),也有一定的缺點(diǎn):

a、NAS存儲(chǔ)在高并發(fā)下iops效率/性能,相比塊存儲(chǔ)是處于劣勢(shì),如果承載的容器數(shù)量過多,IOPS性能相比塊存儲(chǔ)要弱。

b、在K8S場(chǎng)景中,一個(gè)NAS目錄如果配置給K8S集群中,則無配額限制,所有用戶申請(qǐng)資源等于申請(qǐng)了所有NFS的存儲(chǔ)池。

4.3 案例分享

在我們的環(huán)境中,目前有多個(gè)業(yè)務(wù)系統(tǒng)各采用獨(dú)立的K8S容器集群承載業(yè)務(wù)程序,其中較大業(yè)務(wù)系統(tǒng)一個(gè)K8S集群中部署有12個(gè)Pod,主要是運(yùn)行業(yè)務(wù)系統(tǒng)的Java應(yīng)用以及Web應(yīng)用,該持久化存儲(chǔ)場(chǎng)景主要是為了保存業(yè)務(wù)運(yùn)行日志,容器集群的持久化存儲(chǔ)通過OceanStor系列存儲(chǔ)配備雙中心復(fù)制的存儲(chǔ)集群提供,通過配置雙活NAS存儲(chǔ)發(fā)布服務(wù)至容器云集群,作為PV映射給Pod使用。另一套集群則是采用冷備方案配置,主中心K8S集群使用主中心的分布式存儲(chǔ)(可讀寫),SDS分布式集群將數(shù)據(jù)異步復(fù)制到備中心,災(zāi)備中心的冷備K8S災(zāi)備集群掛載備中心的分布式存儲(chǔ)(不可讀寫),當(dāng)主中心故障導(dǎo)致主中心的K8S集群以及存儲(chǔ)集群失效時(shí),手動(dòng)拉起備中心的K8S集群并將備中心分布式存儲(chǔ)集群拉起為可讀寫,以提供業(yè)務(wù)連續(xù)性。也有使用到華為OceanStor存儲(chǔ)中的NAS功能進(jìn)行承載此類業(yè)務(wù),總結(jié)使用中,體現(xiàn)出以下一些優(yōu)勢(shì):

(1)其相比Hostpath實(shí)現(xiàn)分布式應(yīng)用在多節(jié)點(diǎn)容器日志集中管理,降低日志管理復(fù)雜度,提高排障效率;

(2)使用該存儲(chǔ)平臺(tái),可采用端口綁定的方式提升帶寬,保證高業(yè)務(wù)負(fù)載下的帶寬性能,支持業(yè)務(wù)的高并發(fā);

(3)使用該存儲(chǔ)平臺(tái),提供了具備高穩(wěn)定性、高容錯(cuò)能力的存儲(chǔ)服務(wù),集中式存儲(chǔ)的Raid、冗余存儲(chǔ)機(jī)頭等硬件容錯(cuò)能力,支持容器日志的安全存儲(chǔ),保證了業(yè)務(wù)的持續(xù)穩(wěn)定運(yùn)行;

(4)使用該存儲(chǔ)平臺(tái),切實(shí)的容災(zāi)方案:重要業(yè)務(wù)需進(jìn)行多中心部署,通過使用華為NAS存儲(chǔ),實(shí)現(xiàn)多中心架構(gòu)的容器集群數(shù)據(jù)同步構(gòu)建,提供一種切實(shí)可行的重要業(yè)務(wù)容器化部署的容災(zāi)方案;

(5)使用該存儲(chǔ)平臺(tái),具備簡(jiǎn)易化運(yùn)維管理能力:采用NAS存儲(chǔ)產(chǎn)品,具備直觀的圖形界面,能進(jìn)行便捷的配置、切換管理,降低運(yùn)維的復(fù)雜性。?

責(zé)任編輯:武曉燕 來源: twt企業(yè)IT社區(qū)
相關(guān)推薦

2020-12-10 06:46:40

容器云平臺(tái)

2018-06-07 16:33:31

大數(shù)據(jù)冷熱數(shù)據(jù)存儲(chǔ)平臺(tái)

2018-12-18 11:36:30

私有云存儲(chǔ)云計(jì)算

2018-04-08 08:25:15

Ceph對(duì)象存儲(chǔ)混合云

2020-05-13 08:38:42

容器云平臺(tái)云計(jì)算

2013-10-15 21:52:07

金融云平臺(tái)金融云平臺(tái)

2012-06-20 09:32:58

測(cè)算云KPI

2022-01-07 16:24:30

Kubernetes容器平臺(tái)

2017-10-12 08:59:27

企業(yè)云存儲(chǔ)架構(gòu)

2018-06-26 08:04:41

企業(yè)存儲(chǔ)選型

2016-12-01 11:55:00

企業(yè)云盤聯(lián)想云盤

2019-11-13 14:43:12

容器云平臺(tái)軟件

2022-01-13 07:46:49

公有云私有云混合云

2018-08-22 16:35:31

存儲(chǔ)

2016-10-21 15:58:51

容器容器技術(shù)Docker

2020-12-16 20:07:18

容器技術(shù)

2020-11-18 10:10:10

云平臺(tái)云遷移云計(jì)算

2018-08-08 10:38:17

云存儲(chǔ)路線選型

2018-04-02 11:08:06

2018-03-09 09:16:58

混合云存儲(chǔ)問題
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)