高射炮打蚊子,杀鸡用绝世好剑:在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的原創文章,請關注公眾號"汪子熙":
[外鏈圖片轉存失敗(img-DqeTl2Fw-1565837882135)(https://user-images.githubusercontent.com/5669954/60097669-68224900-9786-11e9-9f1e-e8bee08db4fa.png)]要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的高射炮打蚊子,杀鸡用绝世好剑:在SAP Kyma上运行UI5应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文件夹在单独的进程中打开文件夹窗口怎么弄
- 下一篇: 偶数卷积核大小(even-sized)与