日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
深度解讀:金融企業(yè)容器云平臺存儲如何選型?

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

作者:twt社區(qū) 2022-09-28 07:38:29

云計算

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

創(chuàng)新互聯(lián)公司服務項目包括正安網(wǎng)站建設、正安網(wǎng)站制作、正安網(wǎng)頁制作以及正安網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,正安網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到正安省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

?1.容器云平臺及容器云存儲

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

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

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

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

2.1 CSI

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

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

2.2 PV以及PVC

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

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

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

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

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

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

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

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

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

2.3 StorageClass

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

3.容器云存儲類型選型需求分析

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

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

3.1 容器云非持久化存儲需求

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

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

2、一些不需要持久化存儲的文件,例如容器應用運行過程中生成的一些臨時文件。

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

3.2 容器云持久化存儲需求

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

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

4.容器云支持的存儲類型

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

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

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

4.1 非持久化存儲選型經(jīng)驗

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

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

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

4.2 持久化存儲選型建議

在選擇持久化存儲時,在選型過程中建議考慮容器適應業(yè)務場景、存儲的性能、是否支持K8S CSI、是否支持擴容、是否支持克隆等角度進行選型。目前持久化存儲常用的有NAS和對象存儲兩種。

(1)對象存儲

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

(2)NAS存儲

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

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

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

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

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

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

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

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

雖然NAS存儲有明顯的優(yōu)勢,但是與其他類型對比時,也有一定的缺點:

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

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

4.3 案例分享

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

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

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

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

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

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


網(wǎng)頁標題:深度解讀:金融企業(yè)容器云平臺存儲如何選型?
地址分享:http://m.5511xx.com/article/coishoi.html