國人在表述「大材小用」這個場景時,總喜歡用一些實物來類比,好比:高射炮打蚊子。nginx
英國QF 3.7英寸(94mm)高射炮,戰鬥全重超過9.3噸,全長近5米,最大射程約18千米,最大射高超過9000米,炮彈重量12.7公斤,採用人工半自動裝填,射速每分鐘20發,炮班人數爲7人。由英國維克斯公司研發,於上個世紀30年代第二次世界大戰期間開始大量裝備。程序員
相傳女媧補天后留下四顆奇石,千百年後其中之"黑寒"由拜劍山莊得到,其時。當時火麒麟四處爲禍,因而拜劍山莊致力於研究研究如何將"黑寒"製成一把至寒寶劍,用來剋制至熱的火麒麟。web
在完成鑄劍的最後步驟,將三毒之血"貪"(劍貪之血), "瞋"(步驚雲之血), "癡"(斷浪之血)融入劍爐中,絕世好劍終於問世。在《風雲》第一部中,步驚雲掌持此劍同雄霸,絕無神等一流高手PK.docker
Jerry從小也是個《風雲》迷,至今還會時不時把馬榮成這部大做拿出來翻翻。某寶上賣的鋅合金1:1仿製的絕世好劍標價太貴了,Jerry買不起,只買得起下面這個比例的:瀏覽器
圖片裏另外一件,就是第一部裏和絕世好劍齊名,人稱「南山巔上火麟烈,北海淺深雪飲寒」的神兵:雪印狂刀。服務器
Jerry還有一個真傢伙:捕神用的小龍泉,在不夜坊阻止步驚雲報仇一役中,誓死阻止步驚雲,用此劍(準確地說應該是匕首),與其一拼高下,後被步驚雲擊殺。架構
小龍泉,全長48cm左右 , 柄長10cm , 刃長30cm ,刃寬3.3cm , 刃厚:0.8cm.工具
的確,同高射炮打蚊子,殺雞用絕世好劍同樣,雖然SAP Kyma也是基於Kubernetes,但若是僅僅把Kyma當成一個普通的Kubernetes集羣使用,可能連Kyma 1%的功能都沒有用上。學習
做爲SAP C/4HANA產品線的擴展工具,Kyma之於C/4HANA的重要性,就如同SAP雲平臺之於SAP的重要性,再怎麼強調也不過度。測試
既然SAP Kyma主要的用途是作C/4HANA的擴展,爲何這篇文章仍是要介紹如何在上面跑SAP UI5應用呢?
像程序員學習任何新技術老是喜歡從最簡單的Hello World開始,在SAP Kyma上運行UI5應用,就是咱們一步步從溫馨區邁向學習區,熟悉Kyma操做方法的最佳手段之一。
在開始以前,您也許須要溫習一下Jerry以前介紹過的內容:
下面跟着Jerry一塊兒一步步在Kyma上運行一個UI5應用。
做爲一個前提條件,您得有一個在本地正常運行的UI5應用,而後將其同某個Web服務器好比Nginx一塊兒打成一個Docker鏡像。
Jerry在以前的公衆號文章 在Kubernetes上運行SAP UI5應用(上)已經介紹過製做Docker鏡像的詳細方法。
Jerry已經把包含了測試用的UI5應用的鏡像上傳到了Docker hub網站上,名稱爲i042416 / ui5-nginx: https://hub.docker.com/
(1) 進入Kyma的控制檯,下載config文件到本地。
這個文件拿來作什麼的?回憶下Kyma的架構圖,Jerry強調過,Kyma底層是基於Kubernetes的:
而做爲Kubernetes的使用者,咱們要麼用Kubernetes的工做臺cockpit,要麼用命令行工具同Kubernetes集羣的主節點交互,就比如咱們用SAP雲平臺的cockpit或者cf命令行工具同SAP Cloud Platform的CloudFoundry環境交互同樣。
咱們用cf login登陸SAP Cloud Platform CloudFoundry環境時,要指定一個API endpoint,那麼使用命令行操做Kubernetes一樣,須要告訴命令行遠端的Kubernetes API server的鏈接信息,這個信息就維護在剛剛從Kyma控制檯裏下載的config文件裏。
打開這個config文件,發現裏面確實維護了Kubernetes API服務器的地址,以及下載config文件的用戶名和OAuth 2.0的Bearer token. 有了這個token,每次咱們用Kubernetes命令行工具執行命令操做Kubernetes主節點時,其實是向這個config文件裏維護的API server發起Restful的請求。經過這個OAuth 2.0的Bearer token進行認證,咱們免去了每次敲命令都得輸入用戶名和密碼的麻煩。
搜索引擎上搜索關鍵字「kubectl」,下載這個命令行工具到本地,在用戶文件夾下新建一個.kube文件夾,把配置文件放進去。
執行命令行kubectl cluster-info, 若是看到下列打印信息,說明本地kubectl已經成功同API server創建通訊鏈接了。
(2) 在Kyma上運行這個Docker鏡像:
kubectl run jerry-kyma-ui5 --image=i042416/ui5-nginx:v2.0
在默認的namespace下面成功建立了一個pod,狀態爲Running:
同時建立了一個命令行指定的名爲jerry-kyma-ui5的deployment:
這個pod和deployment也能在Kyma web控制檯裏看見:
把這個deploymen以service的方式暴露出來:
kubectl expose deployment jerry-kyma-ui5 --type=LoadBalancer --port=80 --target-port=80
經過kubectl get service拿到這個服務的External-IP,即外部能夠訪問的地址:
瀏覽器裏輸入IP地址,這個部署在SAP Kyma上的UI5應用就呈如今咱們眼前了。
更多SAP Kyma的實戰分享,敬請期待。
要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":