中國品牌,讓東南亞感受“消費(fèi)升級(jí)”小紅書本地“坐抖望團(tuán)”CrowdStrike“全球滅霸響指”事件后續(xù),德國 10% 企業(yè)更換安全供應(yīng)商導(dǎo)致 1TB 數(shù)據(jù)泄露后,迪士尼宣布棄用 Slack 平臺(tái)合合信息啟信產(chǎn)業(yè)大腦攜手市北新區(qū)打造“一企一畫像”平臺(tái),加速數(shù)字化轉(zhuǎn)型重慶:力爭今年智能網(wǎng)聯(lián)新能源汽車產(chǎn)量突破 100 萬輛,到 2027 年建成萬億級(jí)產(chǎn)業(yè)集群微信iOS最新版上線:iPhone用戶可在朋友圈發(fā)實(shí)況照片了蘋果有線耳機(jī)或?qū)⑼.a(chǎn)沖上熱搜!閑魚相關(guān)搜索量暴漲384%2024 vivo開發(fā)者大會(huì)官宣:OriginOS 5/自研藍(lán)河系統(tǒng)2降臨真·AI程序員來了,阿里云「通義靈碼」全面進(jìn)化,全流程開發(fā)僅用幾分鐘東方甄選烤腸全網(wǎng)銷量及銷售額領(lǐng)先鴻蒙PC要來了 界面很漂亮!余承東:目前華為PC將是最后一批搭載Windows上半年中國AR/VR出貨23.3萬臺(tái),同比下滑了 29.1%IDC:2024 上半年中國 AR / VR 頭顯出貨 23.3 萬臺(tái),同比下滑 29.1%英特爾AI加速器Gaudi3下周發(fā)布,挑戰(zhàn)NVIDIA統(tǒng)治地位!大屏技術(shù)邂逅千年色彩美學(xué)!海信激光電視成為電影《只此青綠》官方合作伙伴OpenAI將最新AI模型o1擴(kuò)展到企業(yè)和教育領(lǐng)域三星新專利探索AR技術(shù)新應(yīng)用:檢測屏幕指紋殘留,提高手機(jī)安全性猛瑪傳奇C1:直播圖傳技術(shù)的革新者JFrog推出首個(gè)運(yùn)行時(shí)安全解決方案,實(shí)現(xiàn)從代碼到云的全面軟件完整性和可追溯性
  • 首頁 > 云計(jì)算頻道 > 公有云

    容器云如何對接持久化存儲(chǔ)并投入使用?

    2022年08月24日 16:22:37   來源:twt社區(qū)

      隨著容器為互聯(lián)網(wǎng)應(yīng)用提供的敏捷開發(fā)、快速交付,對傳統(tǒng)金融IT帶來了技術(shù)革新的挑戰(zhàn)。針對數(shù)據(jù)爆炸式增長、應(yīng)用復(fù)雜性提高、業(yè)務(wù)品種快速更新、應(yīng)用系統(tǒng)軟件快速迭代等一系列挑戰(zhàn),容器技術(shù)在金融行業(yè)數(shù)字化轉(zhuǎn)型浪潮中越來越受到青睞。

      本文主要從容器云對存儲(chǔ)的使用方面做建議介紹。Kubernetes支持很多類型的卷,Pod可以同時(shí)使用任意數(shù)目的卷類型。臨時(shí)卷類型的生命周期與Pod相同,但持久卷可以比Pod的存活期長。當(dāng)Pod不再存在時(shí),Kubernetes也會(huì)銷毀臨時(shí)卷;不過Kubernetes不會(huì)銷毀持久卷。對于給定Pod中任何類型的卷,在容器重啟期間數(shù)據(jù)都不會(huì)丟失,卷掛載在鏡像中的指定路徑下。容器對接存儲(chǔ),都會(huì)使用一個(gè)存儲(chǔ)CSI插件進(jìn)行連接和管理。

      容器云中存儲(chǔ)的分類

      Kubernetes能使用的存儲(chǔ)可以分為如下幾類:

      1)臨時(shí)存儲(chǔ)

      常見的臨時(shí)存儲(chǔ)主要是emptyDir卷,當(dāng)Pod分派到某個(gè)Node上時(shí),emptyDir 卷會(huì)被創(chuàng)建,并且Pod在該節(jié)點(diǎn)上運(yùn)行期間,卷一直存在。當(dāng)Pod因?yàn)槟承┰虮粡墓?jié)點(diǎn)上刪除時(shí),emptyDir 卷中的數(shù)據(jù)也會(huì)被永久刪除。一般情況下emptyDir存儲(chǔ)都是用來充當(dāng)臨時(shí)存儲(chǔ)空間。emptyDir 常見的一些用途如:(1)緩存空間,例如基于磁盤的歸并排序。(2)為耗時(shí)較長的計(jì)算任務(wù)提供檢查點(diǎn),以便任務(wù)能方便地從崩潰前狀態(tài)恢復(fù)執(zhí)行。(3)在 Web 服務(wù)器容器服務(wù)數(shù)據(jù)時(shí),保存內(nèi)容管理器容器獲取的文件。

      2)半持久存儲(chǔ)

      半持久化存儲(chǔ)主要是HostPath。當(dāng)使用HostPath卷時(shí),它的范圍應(yīng)盡量限于所需的文件或目錄,并以只讀方式掛載。HostPath 常見的一些用途如:(1)運(yùn)行一個(gè)需要訪問Docker 內(nèi)部機(jī)制的容器;可使用 hostPath 掛載 /var/lib/docker 路徑。(2)在容器中運(yùn)行cAdvisor時(shí),以 hostPath 方式掛載 /sys。(3)允許Pod指定給定的hostPath在運(yùn)行 Pod 之前是否應(yīng)該存在,是否應(yīng)該創(chuàng)建以及應(yīng)該以什么方式存在。

      3)持久化存儲(chǔ)

      對于持久化存儲(chǔ),Kubernetest引入了StorageClass,Volume,PVC,PV的概念。Kubernetes支持的持久化存儲(chǔ)包括主流的塊存儲(chǔ)、對象存儲(chǔ)和網(wǎng)絡(luò)文件存儲(chǔ)等等。Kubernetes引入了兩個(gè)新的API資源:PersistentVolume和PersistentVolumeClaim。持久卷(PersistentVolume,PV)是集群中的一塊存儲(chǔ),可以由管理員事先制備,或者使用存儲(chǔ)類(Storage Class)來動(dòng)態(tài)制備。持久卷是集群資源,就像節(jié)點(diǎn)也是集群資源一樣。

      4)特殊存儲(chǔ)

      特殊存儲(chǔ)類主要包括secret,configMap等。(1)secret 卷用來給Pod傳遞敏感信息,例如密碼。secret 卷由tmpfs(基于RAM的文件系統(tǒng))提供存儲(chǔ),因此它們永遠(yuǎn)不會(huì)被寫入非易失性(持久化的)存儲(chǔ)器。(2)ConfigMap提供了向Pod注入配置數(shù)據(jù)的方法,用來將非機(jī)密性的數(shù)據(jù)保存到鍵值對中,比如存儲(chǔ)卷中的配置文件,以key-value的形式調(diào)用。

      容器云中存儲(chǔ)的使用

      Kubernetes中,PV卷是集群中的資源。PVC申領(lǐng)是對這些資源的請求,也被用來執(zhí)行對資源的申領(lǐng)檢查。PV卷和PVC 的使用過程一般如下:

      1)制備:PV 卷的制備有兩種方式:靜態(tài)制備或動(dòng)態(tài)制備。(1)靜態(tài)制備。集群管理員創(chuàng)建若干PV卷。這些卷對象帶有真實(shí)存儲(chǔ)的細(xì)節(jié)信息,并且對集群用戶可用。(2)動(dòng)態(tài)制備。動(dòng)態(tài)制備操作是基于StorageClass來實(shí)現(xiàn)的:PVC申領(lǐng)必須請求某個(gè)存儲(chǔ)類,同時(shí)集群管理員必須已經(jīng)創(chuàng)建并配置了該類,這樣動(dòng)態(tài)制備卷的動(dòng)作才會(huì)發(fā)生。如果PVC申領(lǐng)指定存儲(chǔ)類為 “”(空),則相當(dāng)于為自身禁止使用動(dòng)態(tài)制備的卷。

      2)綁定:用戶創(chuàng)建一個(gè)帶有特定存儲(chǔ)容量和特定訪問模式需求的PersistentVolumeClaim對象;在動(dòng)態(tài)制備場景下,這個(gè)PVC對象可能已經(jīng)創(chuàng)建完畢。一旦PV與PVC的綁定關(guān)系建立,則PersistentVolumeClaim綁定就是排他性的,PVC申領(lǐng)與PV卷之間的綁定是一種一對一的映射。

      如果找不到匹配的PV卷,PVC申領(lǐng)會(huì)無限期地處于未綁定狀態(tài)。當(dāng)與之匹配的PV卷可用時(shí),PVC申領(lǐng)會(huì)被綁定。例如,即使某集群上制備了很多10 Gi大小的PV卷,也無法與請求20 Gi大小的存儲(chǔ)的PVC匹配。當(dāng)新的20 Gi PV卷被加入到集群時(shí),該P(yáng)VC才有可能被綁定。

      3)使用:Pod將PVC申領(lǐng)當(dāng)做存儲(chǔ)卷來使用。集群會(huì)檢查PVC申領(lǐng),找到所綁定的卷,并為Pod掛載該卷。對于支持多種訪問模式的卷,用戶要在Pod中以卷的形式使用申領(lǐng)時(shí)指定期望的訪問模式。

      4)保護(hù)使用中的存儲(chǔ)對象:保護(hù)使用中的存儲(chǔ)對象(Storage Object in Use Protection)這一功能特性的目的是確保仍被Pod使用的PersistentVolumeClaim(PVC)對象及其所綁定的PersistentVolume(PV)對象在系統(tǒng)中不會(huì)被刪除,因?yàn)檫@樣做可能會(huì)引起數(shù)據(jù)丟失。

      5)回收(Reclaiming):當(dāng)用戶不再使用其存儲(chǔ)卷時(shí),他們可以從API中將PVC對象刪除,從而允許該資源被回收再利用。PersistentVolume對象的回收策略告訴集群,當(dāng)其被從申領(lǐng)中釋放時(shí)如何處理該數(shù)據(jù)卷。目前,數(shù)據(jù)卷可以被 Retained(保留)、Recycled(回收)或 Deleted(刪除)。

      保留(Retain):回收策略 Retain 使得用戶可以手動(dòng)回收資源。當(dāng)PersistentVolumeClaim對象被刪除時(shí),PersistentVolume卷仍然存在,對應(yīng)的數(shù)據(jù)卷被視為"已釋放(released)"。

      刪除(Delete):對于支持Delete回收策略的卷插件,刪除動(dòng)作會(huì)將PersistentVolume對象從 Kubernetes中移除,同時(shí)也會(huì)從外部基礎(chǔ)設(shè)施(如 AWS EBS、CEPH)中移除所關(guān)聯(lián)的存儲(chǔ)資產(chǎn)。

      回收(Recycle):回收策略Recycle在Kubernetes 新版本中已被廢棄。取而代之的建議方案是使用動(dòng)態(tài)制備。

      容器云存儲(chǔ)的落地實(shí)踐

      目前,我們銀行已經(jīng)在開發(fā)測試和生產(chǎn)環(huán)境部署了多套容器云集群平臺(tái),并已經(jīng)承載運(yùn)行了重要應(yīng)用系統(tǒng)的服務(wù)。現(xiàn)階段主要還是將無狀態(tài)的應(yīng)用容器化,數(shù)據(jù)庫、中間件等一些有狀態(tài)的組件仍在虛擬機(jī)中運(yùn)行,將在未來逐步遷移。行內(nèi)容器云平臺(tái)涉及到的持久化存儲(chǔ)主要分為如下幾大塊:

      1)容器鏡像類數(shù)據(jù)存儲(chǔ)。在內(nèi)網(wǎng)環(huán)境中,建立一套自己的私有鏡像倉庫,做好相關(guān)配置后容器云平臺(tái)就可以從私有鏡像庫中拉取鏡像。當(dāng)有pod所在服務(wù)器宕機(jī)或故障,pod需要在新節(jié)點(diǎn)啟動(dòng)時(shí),這時(shí)就會(huì)需要向私有鏡像庫拉取鏡像,當(dāng)生產(chǎn)環(huán)境pod數(shù)量達(dá)到一定規(guī)模時(shí),需要考慮多鏡像并行拉取導(dǎo)致的IO風(fēng)暴。所以容器鏡像類數(shù)據(jù)存儲(chǔ)建議采用分布式塊存儲(chǔ),能夠承擔(dān)一定的并發(fā)能力和有一定擴(kuò)展能力的持久性存儲(chǔ),當(dāng)然有存量集中式塊存儲(chǔ)也是可以利舊以節(jié)約投資,同時(shí)也要考慮做好該部分存儲(chǔ)的備份或私有鏡像倉庫的冗余存儲(chǔ)。

      2)Pod/container類數(shù)據(jù)存儲(chǔ)。容器云集群的Etcd 的數(shù)據(jù)會(huì)時(shí)刻以日志的形式記錄在內(nèi)存和硬盤中,etcd 對磁盤的延遲會(huì)非常敏感,建議將Etcd部署在物理機(jī)/虛擬機(jī)(視集群規(guī)模)中,底層存儲(chǔ)配置SSD磁盤,保證低延遲、高性能的寫入。大部分應(yīng)用Pod/container對于存儲(chǔ)性能要求不高,主要耗費(fèi)計(jì)算資源,所以Pod/container在node上運(yùn)行的鏡像建議采用服務(wù)器本地盤存儲(chǔ)即可。

      3)應(yīng)用之間共享類數(shù)據(jù)存儲(chǔ)。不管是有狀態(tài)還是無狀態(tài)應(yīng)用之間需要共享數(shù)據(jù)時(shí),NFS是一個(gè)主流的文件共享服務(wù)器。NFS數(shù)據(jù)卷可以提供對NFS掛載支持,可以自動(dòng)將NFS共享路徑掛載到Pod中。在各應(yīng)用pod中需文件共享時(shí)建議采用NAS雙活存儲(chǔ)提供的NFS文件系統(tǒng)以滿足業(yè)務(wù)系統(tǒng)文件共享需求。

      4)日志類數(shù)據(jù)存儲(chǔ)。日志類數(shù)據(jù)收集,一般有如下常見幾種方案。(1)app的鏡像中自己集成日志收集組件,好處在于app應(yīng)用的yaml文件不需要特殊配置,一個(gè)鏡像解決問題,但是同時(shí)也造成耦合性強(qiáng),未來組件或應(yīng)用無法單獨(dú)升級(jí)。(2)在同一個(gè)pod中運(yùn)行app容器和日志收集組件容器,相較如上方案降低了耦合度,但是pod的yaml文件需單獨(dú)編寫、配置,較繁瑣。(3)直接將pod的日志掛在到宿主機(jī)node,每臺(tái)node起一個(gè)pod或者采用二進(jìn)制進(jìn)程進(jìn)行日志收集,好處是收集日志與應(yīng)用pod完全解耦,管理方便,只需要做好日志輸出規(guī)范,統(tǒng)一日志目錄和輸出方式即可,此方式日志存儲(chǔ)性能高。日志類數(shù)據(jù)存儲(chǔ)建議可采用pod日志輸出掛載在本地服務(wù)器的存儲(chǔ),通過Filebeat+Logstash+ElasticSearch+Kibana(ELK)或者Fluentd + Filebeat + Elasticsearch + Kibana(EFK)構(gòu)建統(tǒng)一的日志采集、分類、分析、查詢、展示平臺(tái)。

      在整個(gè)容器云平臺(tái)的持久化存儲(chǔ)選型過程中,比如在日志類數(shù)據(jù)存儲(chǔ)我們也有考慮將其存放于分布式塊存儲(chǔ)(如ceph、longhorn等)上做日志統(tǒng)一存儲(chǔ)平臺(tái),但是為沿用已有的ELK日志收集展示平臺(tái)、初期容器規(guī)模較小等原因,暫將分布式塊存儲(chǔ)列為二期規(guī)劃建設(shè)。一期主要完成無狀態(tài)應(yīng)用的容器化工作,二期將重點(diǎn)放在有狀態(tài)應(yīng)用(如redis、zk、輕載mysql等)的容器化,建議部署為StatefulSet,當(dāng)節(jié)點(diǎn)重啟漂移到其他機(jī)器上時(shí),可通過掛載的PVC(PersistentVolumeClaim)拿到原來的完整數(shù)據(jù),但是分布式存儲(chǔ)帶來的讀寫延遲需要根據(jù)不同的容器化應(yīng)用敏感程度配置不同性能的分布式存儲(chǔ),以滿足對業(yè)務(wù)發(fā)展的IO需求。

      總而言之,容器云持久化存儲(chǔ)最佳實(shí)踐沒有一個(gè)統(tǒng)一使用某種存儲(chǔ)的完美方案,而是需要根據(jù)業(yè)務(wù)類型、系統(tǒng)重要等級(jí)、集群規(guī)模、擴(kuò)展性等多方面進(jìn)行綜合考量,再結(jié)合本行的一個(gè)長遠(yuǎn)規(guī)劃進(jìn)行存儲(chǔ)架構(gòu)設(shè)計(jì),以匹配科技戰(zhàn)略,助力業(yè)務(wù)發(fā)展。

      文章內(nèi)容僅供閱讀,不構(gòu)成投資建議,請謹(jǐn)慎對待。投資者據(jù)此操作,風(fēng)險(xiǎn)自擔(dān)。

    即時(shí)

    TCL實(shí)業(yè)榮獲IFA2024多項(xiàng)大獎(jiǎng),展示全球科技創(chuàng)新力量

    近日,德國柏林國際電子消費(fèi)品展覽會(huì)(IFA2024)隆重舉辦。憑借在核心技術(shù)、產(chǎn)品設(shè)計(jì)及應(yīng)用方面的創(chuàng)新變革,全球領(lǐng)先的智能終端企業(yè)TCL實(shí)業(yè)成功斬獲兩項(xiàng)“IFA全球產(chǎn)品設(shè)計(jì)創(chuàng)新大獎(jiǎng)”金獎(jiǎng),有力證明了其在全球市場的強(qiáng)大影響力。

    新聞

    敢闖技術(shù)無人區(qū) TCL實(shí)業(yè)斬獲多項(xiàng)AWE 2024艾普蘭獎(jiǎng)

    近日,中國家電及消費(fèi)電子博覽會(huì)(AWE 2024)隆重開幕。全球領(lǐng)先的智能終端企業(yè)TCL實(shí)業(yè)攜多款創(chuàng)新技術(shù)和新品亮相,以敢為精神勇闖技術(shù)無人區(qū),斬獲四項(xiàng)AWE 2024艾普蘭大獎(jiǎng)。

    企業(yè)IT

    重慶創(chuàng)新公積金應(yīng)用,“區(qū)塊鏈+政務(wù)服務(wù)”顯成效

    “以前都要去窗口辦,一套流程下來都要半個(gè)月了,現(xiàn)在方便多了!”打開“重慶公積金”微信小程序,按照提示流程提交相關(guān)材料,僅幾秒鐘,重慶市民曾某的賬戶就打進(jìn)了21600元。

    3C消費(fèi)

    “純臻4K 視界煥新”——愛普生4K 3LCD 激光工程投影

    2024年3月12日,由愛普生舉辦的主題為“純臻4K 視界煥新”新品發(fā)布會(huì)在上海盛大舉行。

    研究

    2024全球開發(fā)者先鋒大會(huì)即將開幕

    由世界人工智能大會(huì)組委會(huì)、上海市經(jīng)信委、徐匯區(qū)政府、臨港新片區(qū)管委會(huì)共同指導(dǎo),由上海市人工智能行業(yè)協(xié)會(huì)聯(lián)合上海人工智能實(shí)驗(yàn)室、上海臨港經(jīng)濟(jì)發(fā)展(集團(tuán))有限公司、開放原子開源基金會(huì)主辦的“2024全球開發(fā)者先鋒大會(huì)”,將于2024年3月23日至24日舉辦。