TAP 系列文章3 | Tanzu Application Platform 部署參考架構(gòu)介紹
時(shí)間:2023-07-25 16:18:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)
時(shí)間:2023-07-25 16:18:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)
TAP 系列文章3 | Tanzu Application Platform 部署參考架構(gòu)介紹:
Tanzu Application Platform 安裝參考架構(gòu)
Tanzu Application Platform的使用角色
Tanzu Application Platform作為面向應(yīng)用(Web應(yīng)用,Micoservice應(yīng)用等)的部署與管理平臺(tái),在設(shè)計(jì)之初就充分的考慮到了平臺(tái)的不同使用角色對(duì)平臺(tái)個(gè)性化需求,例如:功能配置,可用性部署等;這種因?yàn)榻巧a(chǎn)生的平臺(tái)個(gè)性化需求,決定了TAP的安裝參考架構(gòu)與安裝部署配置(
TAP Profiles)。
參考下圖,TAP在設(shè)計(jì)之初,考慮到了使用平臺(tái)的三類用戶,分別是:
作為T(mén)AP平臺(tái)的主要受眾群體,Dev利用TAP構(gòu)建的應(yīng)用部署平臺(tái),進(jìn)行日常的K8S分布式應(yīng)用開(kāi)發(fā),編譯與構(gòu)建,測(cè)試與集成測(cè)試;TAP為Dev群體提供了簡(jiǎn)單易用的應(yīng)用開(kāi)發(fā)與K8S云運(yùn)行環(huán)境;
作為部署與運(yùn)維TAP平臺(tái)的技術(shù)團(tuán)隊(duì),需要滿足Dev 使用TAP的日常運(yùn)維需求之外;還需要特別考慮應(yīng)用運(yùn)行期間的資源分配與故障隔離、平臺(tái)的高可靠架構(gòu)、TAP平臺(tái)的訪問(wèn)安全與策略管控等精益相關(guān)的架構(gòu)、優(yōu)化與配置。
對(duì)于一個(gè)高度自動(dòng)化的應(yīng)用部署平臺(tái),在規(guī)格化、標(biāo)準(zhǔn)化不同形態(tài)應(yīng)用的K8S部署與發(fā)布后;應(yīng)用的的安全授信與合規(guī)不得不在規(guī)?;⑸a(chǎn)就緒的TAP使用的全生命周期進(jìn)行考慮和配置、部署;
TAP面向角色的參考架構(gòu)與部署配置 (Profiles)
面向開(kāi)發(fā)團(tuán)隊(duì)的TAP Workspace Cluster安裝與部署配置15要素(15-factor)云原生應(yīng)用最佳實(shí)踐告訴我們,作為Dev工程師的日常開(kāi)發(fā)環(huán)境,需要與Ops部署的應(yīng)用部署環(huán)境進(jìn)行能力配對(duì)(Paring);帶來(lái)的好處是顯而易見(jiàn)的:
- 便于開(kāi)發(fā)工程師的集成測(cè)試;特別是在微服務(wù)場(chǎng)景下,工程師的桌面算力,Data服務(wù)依賴,導(dǎo)致必須通過(guò)遠(yuǎn)程的Dev環(huán)境進(jìn)行功能驗(yàn)證與集成測(cè)試;
- 為應(yīng)用最終能夠一致的運(yùn)行在Ops部署的應(yīng)用運(yùn)行生產(chǎn)環(huán)境提供了支撐與保證;
- 開(kāi)發(fā)工程師提前熟悉應(yīng)用PaaS平臺(tái)的基本功能,為后期故常排除、版本回退做了技術(shù)儲(chǔ)配;
因此,一個(gè)多租戶的TAP Dev部署環(huán)境就變得非常重要。同時(shí),TAP Dev環(huán)境也需要做出適當(dāng)?shù)暮?jiǎn)配,不一定與真實(shí)的TAP Ops生產(chǎn)環(huán)境做到100%的匹配以減少Dev環(huán)境的部署、配置的復(fù)雜度,從而減少Dev環(huán)境對(duì)計(jì)算資源的需求與日常運(yùn)維負(fù)擔(dān);
VMware 推薦的TAP Dev (Workspace Cluster)環(huán)境的部署參考架構(gòu)如圖:
TAP Dev Workspace Cluster 部署計(jì)算需求如下:
- K8S 集群需要配置有LoadBalancer 作為T(mén)AP ingress controller;也可以使用開(kāi)箱即用的VMware Tanzu Contour;
- 需要配置有K8S default storage class;TAP部分組件需要云原生的volume持久化狀態(tài);
- TAP的部署K8S集群worker node全部?jī)?nèi)存配置至少大于16GB;單個(gè)worker node的內(nèi)存配置需要至少大于8GB;
- Optional:配置有Logging Infra與Monitoring Infra,可以選擇安裝Tanzu Standard Ops Suite
面向生產(chǎn)的TAP Cluster安裝與部署配置作為T(mén)AP的生產(chǎn)環(huán)境,推薦的安裝與部署參考架構(gòu),主要考慮環(huán)境故障隔離,功能責(zé)任分離,計(jì)算調(diào)優(yōu)等因素;將TAP按照邏輯功能與角色,劃分成 Build Cluster,Run Cluster與TAP UI 控制臺(tái) Cluster;參考下圖:
TAP Build Cluster是TAP應(yīng)用構(gòu)建計(jì)算集群, 作為T(mén)AP Supplychain的計(jì)算環(huán)境,將不同形態(tài)的應(yīng)用利用標(biāo)準(zhǔn)化的Supplychain進(jìn)行應(yīng)用的CI構(gòu)建,OCI鏡像打包與推送,安全漏洞掃描與應(yīng)用依賴物料清單metadata BOM持久化(應(yīng)用依賴物料清單作為安全漏洞audit的資產(chǎn),需要持久化保存),應(yīng)用單實(shí)例啟動(dòng)參數(shù)配置,應(yīng)用K8S運(yùn)行時(shí)配置,運(yùn)行精益配置生成,最后將輸出的應(yīng)用資產(chǎn)Assets(應(yīng)用OCI image與運(yùn)行時(shí)配置)推送到GitOps倉(cāng)庫(kù)以供后續(xù)Run Cluster進(jìn)行部署,同時(shí)為Change Management做好了清單與審計(jì)BOM的準(zhǔn)備;
TAP Run Cluster準(zhǔn)確的說(shuō)也可以分成不同的環(huán)境,例如:QA、Stage、Production;應(yīng)用程序根據(jù)發(fā)布的流程,在QA、Stage環(huán)境中進(jìn)行驗(yàn)證并過(guò)渡到真正的Production生產(chǎn)環(huán)境中;Run Cluster 的部署assets(應(yīng)用OCI image與運(yùn)行時(shí)配置)來(lái)自于TAP Build Cluster,基于這個(gè)驗(yàn)證過(guò)的assets,Ops團(tuán)隊(duì)可以進(jìn)一步根據(jù)生產(chǎn)環(huán)境的部署需求,對(duì)應(yīng)用的部署進(jìn)行生產(chǎn)環(huán)境調(diào)參與精益調(diào)優(yōu),例如:HA的多副本配置,注入應(yīng)用依賴的持久化中間件,暴露監(jiān)控endpoint并對(duì)接平臺(tái)監(jiān)控Infra等;
TAP GUI Cluster為Ops與Dev團(tuán)隊(duì)提供了多集群、集中式的應(yīng)用管理控制臺(tái);團(tuán)隊(duì)成員可以利用TAP GUI查看運(yùn)行在不同TAP Run Cluster中的應(yīng)用運(yùn)行狀態(tài);同時(shí),TAP GUI還為Dev提供了應(yīng)用API、DOC等控制臺(tái)能力;詳情參考TAP GUI相關(guān)文檔;
TAP 安裝與部署配置Profiles 作者簡(jiǎn)介:畢建華,VMware大中華區(qū)應(yīng)用現(xiàn)代化部門(mén)高級(jí)解決方案架構(gòu)師。多年來(lái)一直從事云原生相關(guān)領(lǐng)域工作,包括系統(tǒng)設(shè)計(jì)以及參與多種容器調(diào)度平臺(tái)開(kāi)發(fā),部署,運(yùn)維工作;包括,基于Mesos、DCOS平臺(tái),開(kāi)發(fā)Dbaas框架;參與Kubernetes開(kāi)源項(xiàng)目KUDO的開(kāi)發(fā)與推廣;CNCF認(rèn)證CKA工程師;VMware認(rèn)證Spring Professional工程師。
來(lái)源|公眾號(hào):VMwareTanzu云原生