TAP 系列文章8 | TAP 學(xué)習(xí)中心——通過動手教程來學(xué)習(xí)
時間:2023-07-25 16:18:01 | 來源:網(wǎng)站運營
時間:2023-07-25 16:18:01 來源:網(wǎng)站運營
TAP 系列文章8 | TAP 學(xué)習(xí)中心——通過動手教程來學(xué)習(xí):
背景
Tanzu Application Platform致力于為開發(fā)團隊、應(yīng)用安全團隊、應(yīng)用運維團隊打造一條簡化的端到端開發(fā)運維體驗的路徑,以提升軟件開發(fā)效率、加固應(yīng)用安全、簡化應(yīng)用運維復(fù)雜度。可見TAP產(chǎn)品的涵蓋面很廣泛:包括基于Kubernetes的Cloud Native Runtimes運行時;應(yīng)用Source to URL的軟件供應(yīng)鏈;面向應(yīng)用開發(fā)者的開發(fā)插件,工具和應(yīng)用儀表盤App Live View;API Portal以及應(yīng)用服務(wù)目錄和服務(wù)綁定等。如何讓應(yīng)用開發(fā)和應(yīng)用運維人員快速了解和掌握整套平臺體系以及動手實驗?成為了開發(fā)和運維團隊領(lǐng)導(dǎo)者們關(guān)注的焦點之一。
有沒有通用的學(xué)習(xí)框架和平臺,幫助團隊更直觀的掌握PaaS平臺相關(guān)內(nèi)容?如何更高效、更方便的對TAP和K8S,容器平臺的用戶進行培訓(xùn)?作為產(chǎn)品功能的使用者和推廣者,如何將相關(guān)知識,更直觀的hands-on環(huán)境傳授給其他用戶?等等。那么,TAP Learning Center目標(biāo)就是設(shè)計并解決這類問題。
傳統(tǒng)PaaS類平臺軟件復(fù)雜的上手和學(xué)習(xí)過程
- 搭建和協(xié)調(diào)底層IaaS環(huán)境;搭建和協(xié)調(diào)K8S集群環(huán)境;
- 安裝相關(guān)的PaaS和組件;
- 配置和分配學(xué)習(xí)環(huán)境資源;
- 創(chuàng)建和配置演示用專有的環(huán)境,并保存模版;
- 用模版創(chuàng)建多套類似實驗環(huán)境,分配給用戶實驗和演示使用,并維護多套環(huán)境的生命周期;
- 管理員自己定期檢查確認上述環(huán)境是否在使用,根據(jù)情況銷毀實驗環(huán)境和回收資源;
- 當(dāng)隨機發(fā)生新的培訓(xùn)、自己學(xué)習(xí)和實驗、workshop、參展和演示等請求時 ,申請并重復(fù)上述所有步驟;
- 很可能時間緊、來不及而造成延期,或者需要連續(xù)加班來填坑;
- 甚至大多數(shù)情況是沒有實際的動手學(xué)習(xí)
- … …
問題和場景
PaaS類產(chǎn)品的安裝配置,構(gòu)建和使用相對復(fù)雜難度較高。使用者初期經(jīng)常會遇到下述類似問題(包括但不限于):
- 合作伙伴不同團隊,每次希望演示和講解TAP,Tanzu K8S,TBS等產(chǎn)品時,都需提前耗費很多時間搭建臨時環(huán)境,重復(fù)工作量加大。
- 客戶開發(fā)、測試、運維團隊成員,不同團隊的不同個人希望有自己獨立的K8S或TBS,TAP的自我動手操作和學(xué)習(xí)環(huán)境;每個用戶使用的環(huán)境需要各自獨立,避免影響。但很難得到這樣的支持。
- 對于前述相互隔離的環(huán)境,最好可以由Learning Center和Workshop管理員進行控制管理,比如限制同時創(chuàng)建的獨立學(xué)習(xí)空間環(huán)境個數(shù),以限制Learning Center占有的集群資源總量,保障服務(wù)質(zhì)量。
- 在展商產(chǎn)品宣講會和演示活動中, 參會用戶希望通過簡單動手操作,直觀理解Tanzu 產(chǎn)品特性。
- 學(xué)習(xí)中心內(nèi)的學(xué)習(xí)單元-也稱為workshop,可以根據(jù)用戶獨立創(chuàng)建、運行和銷毀。Workshop環(huán)境完成后可以銷毀以釋放Pod等各類資源,但不需要銷毀后臺運行的K8S集群。需要自助式服務(wù)創(chuàng)建、運行和回收管理實驗環(huán)境。
- … …
所以我們需要一種更為便捷,高效的構(gòu)建和管理Learning Center的方法來解決以上的各種問題。
TAP 學(xué)習(xí)中心技術(shù)原理
核心概念:- Training Portal—由管理員在集群中創(chuàng)建,觸發(fā)培訓(xùn)門戶的部署。Training Portal提供了一個基于web的界面,用于注冊和訪問Workshop。它還提供了一個REST API來請求對workshop的訪問。
- Workshop—提供workshop的定義。由管理員預(yù)加載到集群中,它是workshop內(nèi)容托管的位置,以及將workshop所需的內(nèi)容和其他工具打包在一起的容器映像。
- Workshop Environment—由Training Portal觸發(fā)為Workshop創(chuàng)建一個Workshop Environment。系統(tǒng)將為Workshop設(shè)置一個NameSpace,其中運行Workshop Session和部署共享資源。
- Workshop Session—由Training Portal觸發(fā)針對Workshop Environment的workshop實例。Operator設(shè)置特定于workshop session的名稱空間,并預(yù)先創(chuàng)建相應(yīng)額外資源。也可以在需要時分發(fā),或者根據(jù)需要創(chuàng)建資源。
Learning Center平臺架構(gòu)
學(xué)習(xí)中心依靠K8S Operator完成工作。Operator通過使用一組特定于學(xué)習(xí)中心的Custom Resources來控制。 如圖所示,
- 創(chuàng)建一個培訓(xùn)門戶Training portal;
- 然后該門戶Training portal自動觸發(fā)一個或多個workshop environments的安裝和設(shè)置過程,每個不同的workshop都有一個workshop environment;
- 當(dāng)用戶訪問培訓(xùn)門戶Training portal并選擇他們想要進行的Workshop時,培訓(xùn)門戶Training portal根據(jù)相應(yīng)的workshop environment為該用戶分配和創(chuàng)建workshop session ;
- 并將用戶定向到相應(yīng)的workshop session實例。
Workshop session與Kubernetes Nampspace關(guān)聯(lián)起來,在該會話中使用。應(yīng)用于該會話的Account的 RBAC(基于角色的訪問控制),確保用戶只能訪問對應(yīng)的NameSpace和資源。
TAP學(xué)習(xí)中心的使用介紹
1.在TAP Profile中確認已經(jīng)安裝Learning Center Packages
如圖所示,通過tanzu package CLI查看Learning Center安裝和相應(yīng)的Kubernetes資源運行狀態(tài)正確。
$tanzu package installed list -n tap-install$tanzu get trainingportals
2.通過Training Center鏈接打開Learning Center Workshop界面
點擊相應(yīng)的workshop之后,可以看到新的workshop session資源自動創(chuàng)建并正常運行。
注:當(dāng)多次點擊創(chuàng)建workshop時,會自動創(chuàng)建多個隔離的workshop,自動分配給用戶使用。如下圖所示,資源是相互隔離的Namespace: learninig-center-guided-w01-s010和learninig-center-guided-w01-s011。
3.瀏覽和使用Learning Center中TAP workshop
Workshop可以是一個Kubernetes workshop或TAP workshop。左側(cè)為MarkDown風(fēng)格的指導(dǎo)說明,右側(cè)則可以展示Terminal終端、Console、IDE編輯器或者Slides PPT。
以Markdown或AsciiDoc文件的形式指導(dǎo)用戶完成Workshop。指導(dǎo)說明可以被注解為可執(zhí)行命令,這樣當(dāng)在Workshop儀表板上單擊時,它們會在右側(cè)的終端上自動為用戶執(zhí)行和展示結(jié)果。文本被標(biāo)注為可復(fù)制的,所以當(dāng)在Workshop儀表板上單擊時,它會被復(fù)制到瀏覽器的粘貼緩沖區(qū)中,以便粘貼到終端或其他web應(yīng)用程序。在web瀏覽器中提供Workshop儀表板編輯器(VSCode IDE)的訪問。提供訪問基于web的控制臺Shell和Console來訪問Kubernetes集群。支持Kubernetes儀表盤或Octant的使用。能夠在Workshop儀表板上顯示特定PPT幻燈片。
TAP Learning Center示例過程圖解:
a)點擊workshop進入如下頁面,左側(cè)是Workshop Overview說明向?qū)?,右?cè)是包括Terminal/Console/IDE Editor的展示頁面。
本例中點擊進入Learning Center按鈕,進入Application Accelerator頁面。
b)左側(cè)順序點擊MarkDown的向?qū)ф溄觢ink,Learning Center會幫助您展示K8S resource,并自動打開Application Accelerator頁面,引導(dǎo)自動生成不同類型的應(yīng)用程序代碼框架。
c) 通過Accelerator下載代碼框架后,通過IDE Tools進行代碼查看和編輯。
d)右側(cè)嵌入式IDE編輯界面中,包含完整IDE編輯器,并自動打開剛剛通過Accelerator創(chuàng)建的代碼框架。
e)點擊左側(cè)說明向?qū)е?
Editor: Open file “spring-sensors/Tiltfile” Editor: Execute command “tanzu.liveUpdateStart” |
---|
在右側(cè)IDE Editor中看到,自動執(zhí)行l(wèi)iveUpdate模式。 任何代碼更新會自動進行重新編譯、打包和部署的過程。
f)下一步,更新代碼并submitting the build, git提交代碼,并查看supply chain。
g)如圖點擊指導(dǎo)說明中的「App URL」,則自動打開瀏覽器展示TAP的應(yīng)用界面和應(yīng)用Supply Chain視圖。您可以點擊「結(jié)束workshop」終止并回收資源。
TAP學(xué)習(xí)中心總結(jié)
TAP學(xué)習(xí)中心幫助用戶快速學(xué)習(xí)和掌握TAP,K8S,CNR,TBS等技術(shù)、產(chǎn)品和組件。提供一個通用的學(xué)習(xí)框架和平臺,幫助團隊更直觀的掌握PaaS平臺相關(guān)內(nèi)容。大幅提升開發(fā)和運維人員掌握平臺的效率。為演示和展臺、活動等,提供靈活的產(chǎn)品和技術(shù)演示環(huán)境,自助式創(chuàng)建和管理資源。同時,TAP學(xué)習(xí)中心本身支持擴展和自定義Workshop內(nèi)容和模塊并支持擴展能力。請持續(xù)關(guān)注TAP并與TAP產(chǎn)品和服務(wù)團隊聯(lián)系使用TAP和學(xué)習(xí)中心。
作者簡介
VMware資深云原生應(yīng)用架構(gòu)師,多年軟件開發(fā)設(shè)計和產(chǎn)品管理工作。在VMware/Pivotal之前曾就職于IBM中國實驗室、Oracle、Ericsson等IT企業(yè),從事企業(yè)級平臺和云計算相關(guān)軟件的系統(tǒng)架構(gòu)、產(chǎn)品管理和研發(fā)等工作。具有豐富的電信和銀行、交通等行業(yè)經(jīng)驗。擁有Spring Core professional, Kubernetes CKA, AWS Solution Architect, Cloud Foundry和軟件架構(gòu)師認證,目前主要專注企業(yè)級PaaS,容器云平臺產(chǎn)品及云原生微服務(wù)應(yīng)用架構(gòu)設(shè)計。
來源|公眾號:VMwareTanzu云原生
關(guān)鍵詞:學(xué)習(xí),教程,動手,中心,系列,文章,通過