作者:Daniel Gruber,Burak Yenier和Wolfgang Gentzsch,UberCloud。
該公司成立于2013年,致力于開(kāi)發(fā)HPC容器技術(shù)和容器化工程應(yīng)用程序,以促進(jìn)在共享的本地或按需云環(huán)境中訪問(wèn)和使用工程HPC工作負(fù)載。本文及上一篇文章中,他們描述了過(guò)去12個(gè)月在Kubernetes上使用UberCloud HPC容器的經(jīng)驗(yàn)。
隨著云服務(wù)的興起,CIO意識(shí)到在各種計(jì)算環(huán)境中運(yùn)行的應(yīng)用程序,中間件和基礎(chǔ)架構(gòu)需要通用的管理和操作模型。通過(guò)為每個(gè)云提供商使用不同的專用基礎(chǔ)架構(gòu)和應(yīng)用程序管理解決方案,在本地和云環(huán)境中維護(hù)不同的應(yīng)用程序和中間件堆棧,會(huì)在動(dòng)態(tài)分配,使用和管理這些資源時(shí)增加很多麻煩。
混合云環(huán)境中缺乏通用的管理和運(yùn)營(yíng)模型可能導(dǎo)致:
不均勻,分散的環(huán)境給管理人員,操作人員和安全性帶來(lái)了額外的復(fù)雜性。
由于沒(méi)有通用管理的混合環(huán)境,創(chuàng)新速度降低了。
當(dāng)依賴于云提供商的特定服務(wù)時(shí),很難更改或關(guān)閉云資源。
當(dāng)綁定到特定的云環(huán)境設(shè)置時(shí),工作負(fù)載不容易遷移回本地環(huán)境,反之亦然。
正如上一篇文章中指出的那樣,Kubernetes已成為事實(shí)上的標(biāo)準(zhǔn)容器編排器。所有主要公司都在隨處可用的標(biāo)準(zhǔn)化API之上提供并構(gòu)建解決方案。CIO現(xiàn)在正在研究Kubernetes在混合云中對(duì)HPC的適用性,因?yàn)樗鼮槊糠N環(huán)境提供了通用的管理和操作模型。
Kubernetes:混合云的通用管理和運(yùn)營(yíng)模型
Kubernetes促進(jìn)了服務(wù)器隊(duì)列中運(yùn)行的無(wú)數(shù)容器的使用和管理,它是由許多IT供應(yīng)商和云提供商支持的用于混合環(huán)境的新標(biāo)準(zhǔn)平臺(tái)?,F(xiàn)在,CIO可以分配一個(gè)完全配置并受支持的容器編排器,作為其所有應(yīng)用程序工作負(fù)載的基礎(chǔ)。
與專有基礎(chǔ)架構(gòu)解決方案不同,Kubernetes具有可移植性,易于管理,高可用性,可集成性和監(jiān)視功能。在Kubernetes上管理資源時(shí),CIO不再綁定到特定的基礎(chǔ)架構(gòu)。他們可以使用相同的應(yīng)用程序堆棧為用戶提供相同的功能集,無(wú)論是本地還是在任何云中。用戶甚至不知道自己的應(yīng)用程序正在Kubernetes上運(yùn)行,也不知道它們?cè)谀膫€(gè)基礎(chǔ)架構(gòu)上運(yùn)行:是在自己的數(shù)據(jù)中心還是在特定的云提供商(例如Google,Microsoft或Amazon)上。
通過(guò)使用像Kubernetes這樣的標(biāo)準(zhǔn)化軟件棧來(lái)降低混合云環(huán)境的復(fù)雜性具有許多優(yōu)點(diǎn):對(duì)一個(gè)平臺(tái)進(jìn)行的改進(jìn)可以自動(dòng)在其他平臺(tái)上使用;部署和運(yùn)營(yíng)方面可以簡(jiǎn)化;安全審核更容易,更嚴(yán)格地執(zhí)行。
Kubernetes和HPC
Kubernetes已經(jīng)是AI和ML的事實(shí)平臺(tái),但是,當(dāng)涉及到傳統(tǒng)的高性能計(jì)算時(shí),仍然存在一些挑戰(zhàn)。HPC工作負(fù)載管理器中內(nèi)置了一組功能,Kubernetes中尚不可用。我們之前在第一篇文章已經(jīng)討論了主要差異,Kubernetes在HPC方面的主要差距是:對(duì)分布式內(nèi)存作業(yè)(即MPI應(yīng)用程序)的本機(jī)支持,以及與現(xiàn)有HPC應(yīng)用程序兼容的缺少的作業(yè)排隊(duì)系統(tǒng)。
Kubernetes在許多層上都內(nèi)置了高可用性。但是,對(duì)于HPC作業(yè),僅重啟一個(gè)失敗的容器是不夠的,因?yàn)檎麄€(gè)分布式作業(yè)本身可能已經(jīng)失敗了。在這種情況下,需要對(duì)整個(gè)分布式內(nèi)存作業(yè)進(jìn)行自動(dòng)重新計(jì)劃。這是Kubernetes無(wú)法處理的。
除了這些挑戰(zhàn)之外,Kubernetes還為HPC帶來(lái)了許多好處:例如,工程師和容器化HPC應(yīng)用程序的環(huán)境始終是相同的,無(wú)論是本地部署還是在基于云的環(huán)境中運(yùn)行;快速?gòu)囊环N基礎(chǔ)架構(gòu)轉(zhuǎn)換為另一種基礎(chǔ)架構(gòu)的能力使HPC團(tuán)隊(duì)能夠與其公司的云路線圖保持一致。在基于通用API(Kubernetes API)的基礎(chǔ)架構(gòu)之間移動(dòng)工作負(fù)載的自由變得很有價(jià)值。
Kubernetes上的容器化HPC應(yīng)用程序
在過(guò)去的五年中,已經(jīng)將數(shù)十種HPC應(yīng)用程序進(jìn)行了容器化,無(wú)論是商業(yè)化的,例如ANSYS,COMSOL,STAR-CCM +,還是開(kāi)源軟件包(如OpenFOAM和GROMACS),以及HPC集群調(diào)度程序,例如Univa Grid Engine和Slurm。由于采用了容器技術(shù),因此可以提供持續(xù)不斷的更新和改進(jìn),客戶可以快速,無(wú)縫地對(duì)其進(jìn)行更新。此外,容器映像允許用戶隨時(shí)返回到先前的應(yīng)用程序版本,以便他們始終可以重現(xiàn)其先前的結(jié)果。
在托管Kubernetes上運(yùn)行的示例HPC應(yīng)用程序集群架構(gòu)
同時(shí),通過(guò)使用諸如Terraform和Puppet之類的基礎(chǔ)架構(gòu)和配置管理工具或通過(guò)將特定于云的HPC集成構(gòu)建到現(xiàn)有門戶中,已經(jīng)實(shí)現(xiàn)了許多容器環(huán)境。但是隨著Kubernetes的到來(lái),容器環(huán)境變得更易于維護(hù)并且更加動(dòng)態(tài)。控制器不斷驅(qū)動(dòng)集群,從而將集群推出,重新調(diào)整工作節(jié)點(diǎn)的規(guī)模,使用一組恒定的可搶占實(shí)例以及高可用性。
因此,Kubernetes和HPC主要差距已被消除。這樣,今天,任何Kubernetes環(huán)境都可以支持分布式內(nèi)存/ MPI作業(yè),該環(huán)境提供了在HPC容器內(nèi)運(yùn)行的內(nèi)置HPC工作負(fù)載管理器集成。這使傳統(tǒng)的HPC應(yīng)用程序無(wú)需任何更改即可運(yùn)行。同時(shí),通過(guò)在內(nèi)部運(yùn)行的高性能支持GPU的Pod,已成功啟動(dòng)了基于Ansys和COMSOL的GPU和未支持GPU的應(yīng)用程序。登錄到桌面后,工程師可以開(kāi)始提交批處理作業(yè)或單個(gè)MPI應(yīng)用程序,這些應(yīng)用程序分布在多個(gè)節(jié)點(diǎn)上分配的一組Pod中。
結(jié)論
Kubernetes不僅支持基于微服務(wù)的企業(yè)應(yīng)用程序,而且還支持自助服務(wù)工程HPC應(yīng)用程序。總而言之,正如該研究表明的那樣,使用Kubernetes作為運(yùn)行容器化工程應(yīng)用程序的基礎(chǔ)的主要優(yōu)點(diǎn)是:
幾乎所有基礎(chǔ)架構(gòu)上均可使用統(tǒng)一應(yīng)用程序堆棧;
真正的混合云使用方案,可滿足工程負(fù)載的需求。對(duì)于工程師而言,無(wú)論在本地還是在云中運(yùn)行應(yīng)用程序,它都是透明的;
通過(guò)始終分配云中可用的最新和最快的機(jī)器,從而為運(yùn)行工程應(yīng)用程序提供最佳性能;
作為工程師的自助服務(wù),構(gòu)建并調(diào)整獨(dú)立的HPC應(yīng)用程序和計(jì)算集群的大小,并且僅受每個(gè)時(shí)間段的云配額和預(yù)算限制;
強(qiáng)大的管理堆棧,得到許多云提供商的支持;
僅通過(guò)支付使用費(fèi)用來(lái)優(yōu)化成本。不需要閑置資源,這些閑置資源將在使用前被分配;
通過(guò)獨(dú)立的專用計(jì)算集群實(shí)現(xiàn)高安全性;
通過(guò)自我配置和一次性組件(將更新簡(jiǎn)單地銷毀并重新創(chuàng)建命令),將操作開(kāi)銷降至最低;
基于Kubernetes的工作負(fù)載更易于集成到廣泛采用的持續(xù)集成和部署解決方案中(例如Tekton,Concourse或Jenkins的未來(lái)版本)。
在這項(xiàng)研究中,基于容器的HPC應(yīng)用程序環(huán)境已在Kubernetes之上實(shí)現(xiàn)(例如,在Google GCP和Amazon AWS上),并且還用作自助服務(wù)測(cè)試環(huán)境,可由HPC應(yīng)用程序?qū)<叶沁\(yùn)營(yíng)商從頭開(kāi)始部署。它也已用于CI / CD管道中,以自動(dòng)構(gòu)建測(cè)試環(huán)境,以針對(duì)現(xiàn)有容器解決方案運(yùn)行測(cè)試并隨后關(guān)閉基礎(chǔ)架構(gòu)。在客戶環(huán)境中,IT部門受益于使用受支持的托管Kubernetes易于維護(hù)的系統(tǒng),該系統(tǒng)可以在幾分鐘之內(nèi)增加,調(diào)整大小和刪除計(jì)算資源。
-
HPC
+關(guān)注
關(guān)注
0文章
326瀏覽量
23872 -
混合云
+關(guān)注
關(guān)注
1文章
188瀏覽量
11163
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
康佳特推出高性能COM-HPC模塊conga-HPC/cBLS
華為云 Flexus 云服務(wù)器 X 實(shí)例之 openEuler 系統(tǒng)下搭建 k3s 輕量級(jí) kubernetes 環(huán)境
![華為<b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b>服務(wù)器 X 實(shí)例之 openEuler 系統(tǒng)下搭建 k3s 輕量級(jí) <b class='flag-5'>kubernetes</b> <b class='flag-5'>環(huán)境</b>](https://file1.elecfans.com//web3/M00/03/E9/wKgZPGdtLGeAThi6AACZ1u9eklg664.png)
HPC云計(jì)算的技術(shù)架構(gòu)
使用 Flexus 云服務(wù)器 X 實(shí)例部署 Kubernetes 圖形化管理平臺(tái)
![使用 Flexus <b class='flag-5'>云</b>服務(wù)器 X 實(shí)例部署 <b class='flag-5'>Kubernetes</b> 圖形化管理平臺(tái)](https://file1.elecfans.com//web3/M00/04/9F/wKgZPGd2io-AJt67AAFCdu5cZ2o190.png)
云計(jì)算HPC軟件關(guān)鍵技術(shù)
云計(jì)算和HPC的關(guān)系
完成混合云環(huán)境的3個(gè)過(guò)程
k8s可以部署私有云嗎?私有云部署全攻略
什么是混合云?混合云的優(yōu)勢(shì)和劣勢(shì)
云計(jì)算hpc的主要功能是什么
Kubernetes集群搭建容器云需要幾臺(tái)服務(wù)器?
HPC云計(jì)算前景
云計(jì)算hpc是什么意思
使用Velero備份Kubernetes集群
![使用Velero備份<b class='flag-5'>Kubernetes</b>集群](https://file1.elecfans.com/web2/M00/01/88/wKgaomawgyuAYP2PAAAZEWF6N9U253.png)
評(píng)論