高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用
國人在表述“大材小用”這個場景時,總喜歡用一些實物來類比,比如:高射炮打蚊子。
英國QF 3.7英寸(94mm)高射炮,戰鬥全重超過9.3噸,全長近5米,最大射程約18公里,最大射高超過9000米,炮彈重量12.7公斤,採用人工半自動裝填,射速每分鐘20發,炮班人數為7人。由英國維克斯公司研發,於上個世紀30年代第二次世界大戰期間開始大量裝備。
相傳女媧補天后留下四顆奇石,千百年後其中之"黑寒"由拜劍山莊獲得,其時。當時火麒麟四處為禍,於是拜劍山莊致力於研究研究如何將"黑寒"製成一把至寒寶劍,用來剋制至熱的火麒麟。
在完成鑄劍的最後步驟,將三毒之血"貪"(劍貪之血), "瞋"(步驚雲之血), "痴"(斷浪之血)融入劍爐中,絕世好劍終於問世。在《風雲》第一部中,步驚雲掌持此劍同雄霸,絕無神等一流高手PK.
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之前介紹過的內容:
- 站在巨人肩膀上的牛頓:Kubernetes和SAP Kyma
- 在Kubernetes上執行SAP UI5應用-上
- 在Kubernetes上執行SAP UI5應用-下
- 基於SAP Kyma的訂單編排增強介紹
- 什麼?在SAP中國研究院裡還需要會PHP開發?
下面跟著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的實戰分享,敬請期待。
更多閱讀
- 站在巨人肩膀上的牛頓:Kubernetes和SAP Kyma
- 在Kubernetes上執行SAP UI5應用-上
- 在Kubernetes上執行SAP UI5應用-下
- 基於SAP Kyma的訂單編排增強介紹
- 什麼?在SAP中國研究院裡還需要會PHP開發?
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2651685/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在Kubernetes上執行SAP UI5應用(上)UI
- 把 SAP UI5 應用部署到 SAP KymaUI
- 如何在阿里雲上執行SAP UI5應用阿里UI
- 一步步把 SAP UI5 應用部署到 SAP BTP Kyma 執行環境中去UI
- 使用 SAP UI5 CLI 命令列工具構建和執行 SAP UI5 應用UI命令列
- EventBus in SAP UI5 and KymaUI
- Hummingbird: 在Web上執行Flutter應用WebFlutter
- [譯文]過猶不及,別再在程式設計中高射炮打蚊子程式設計
- 如何將 SAP UI5 應用託管到 Github 網站上並執行UIGithub網站
- 在 WASI 上執行 .NET 7 應用程式
- 在 SAP Kyma 上使用 Redis 服務Redis
- 使用SAP BSP應用執行VueVue
- 如何在瀏覽器裡開發並執行 SAP UI5 應用瀏覽器UI
- 使用工具分析 SAP UI5 應用前端執行的效能問題UI前端
- 雲原生應用程式執行時 Kyma 的主要特性介紹
- SAP UI5 標準應用的多語言支援 - SAP UI5 執行時語言判定機制UI
- 在 SAP 雲平臺上部署和執行 Docker 應用Docker
- 將SAP UI5應用部署在Heroku雲平臺裡UI
- 在 Kyma 雲原生平臺上開發並部署 Node.js 應用Node.js
- 在 OpenFunction 中執行 Serverless 應用FunctionServer
- 在 Node.js 上執行 Flutter Web 應用和 APINode.jsFlutterWebAPI
- 在 Mac 上執行 Windows 應用程式,只需一個CrossOver!MacWindowsROS
- SAP UI5 應用開發教程之六十一 - 在 SAP UI5 應用裡繪製甘特圖 Gantt Chart 試讀版UI
- 使用SAP WebIDE給SAP UI5應用新增data sourceWebIDEUI
- 用 React 結合 SAP UI5 Web Components 來開發 SAP Fiori 應用ReactUIWeb
- 使用 mock 資料在本地執行 SAP Fiori Elements 應用的工作原理Mock
- SAP UI5 應用開發教程之一百零六 - 如何提高 SAP UI5 應用路由 url 的可讀性UI路由
- 在 SAP BAS 裡使用 SAP UI5 應用消費 OData 的 Create 和 Delete 操作UIdelete
- 如何指定 SAP UI5 應用程式基於某個特定的版本執行試讀版UI
- Anbox:在 Linux 上執行 Android 應用程式的簡單方式LinuxAndroid
- 一步步將 SAP Commerce Mock 應用部署到 SAP BTP Kyma RuntimeMock
- SAP UI5應用裡的列表處理UI
- 如何使用 Chrome 除錯執行在手機上的 SAP UI5 Cordova 混合應用試讀版Chrome除錯UI
- SAP UI5 應用開發教程之一百零一 - SAP UI5 應用的 Locale 決定機制試讀版UI
- sap.ui.core.IAsyncContentCreation 這個標記介面在 SAP UI5 框架中的應用UI框架
- SAP UI5 應用的 Component.js 檔案是如何在執行時被載入的?UIJS
- 如何使用 SAP Kyma 控制檯手動傳送 SAP Commerce Cloud Mock 應用暴露的事件CloudMock事件
- 如何在桌面電腦端除錯執行在手機上的 SAP UI5 應用試讀版除錯UI