高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用

i042416發表於2019-07-24

國人在表述“大材小用”這個場景時,總喜歡用一些實物來類比,比如:高射炮打蚊子。

英國QF 3.7英寸(94mm)高射炮,戰鬥全重超過9.3噸,全長近5米,最大射程約18公里,最大射高超過9000米,炮彈重量12.7公斤,採用人工半自動裝填,射速每分鐘20發,炮班人數為7人。由英國維克斯公司研發,於上個世紀30年代第二次世界大戰期間開始大量裝備。

高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用

相傳女媧補天后留下四顆奇石,千百年後其中之"黑寒"由拜劍山莊獲得,其時。當時火麒麟四處為禍,於是拜劍山莊致力於研究研究如何將"黑寒"製成一把至寒寶劍,用來剋制至熱的火麒麟。

在完成鑄劍的最後步驟,將三毒之血"貪"(劍貪之血), "瞋"(步驚雲之血), "痴"(斷浪之血)融入劍爐中,絕世好劍終於問世。在《風雲》第一部中,步驚雲掌持此劍同雄霸,絕無神等一流高手PK.

高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用

Jerry從小也是個《風雲》迷,至今還會時不時把馬榮成這部大作拿出來翻翻。某寶上賣的鋅合金1:1仿製的絕世好劍標價太貴了,Jerry買不起,只買得起下面這個比例的:

高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用

圖片裡另一件,就是第一部裡和絕世好劍齊名,人稱“南山巔上火麟烈,北海淺深雪飲寒”的神兵:雪印狂刀。

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上執行UI5應用

既然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:

高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用

(1) 進入Kyma的控制檯,下載config檔案到本地。

高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用

這個檔案拿來做什麼的?回憶下Kyma的架構圖,Jerry強調過,Kyma底層是基於Kubernetes的:

高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用

而作為Kubernetes的使用者,我們要麼用Kubernetes的工作臺cockpit,要麼用命令列工具同Kubernetes叢集的主節點互動,就好比我們用SAP雲平臺的cockpit或者cf命令列工具同SAP Cloud Platform的CloudFoundry環境互動一樣。

高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用

我們用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建立通訊連線了。

高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用

(2) 在Kyma上執行這個Docker映象:

kubectl run jerry-kyma-ui5 --image=i042416/ui5-nginx:v2.0

高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用

在預設的namespace下面成功建立了一個pod,狀態為Running:

高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用

同時建立了一個命令列指定的名為jerry-kyma-ui5的deployment:

高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用

這個pod和deployment也能在Kyma web控制檯裡看見:

高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用


高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用

把這個deploymen以service的方式暴露出來:

kubectl expose deployment jerry-kyma-ui5 --type=LoadBalancer --port=80 --target-port=80

高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用


高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用


高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用

透過kubectl get service拿到這個服務的External-IP,即外部可以訪問的地址:

高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用

瀏覽器裡輸入IP地址,這個部署在SAP Kyma上的UI5應用就呈現在我們眼前了。

高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用

更多SAP Kyma的實戰分享,敬請期待。

更多閱讀

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":


高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上執行UI5應用


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2651685/,如需轉載,請註明出處,否則將追究法律責任。

相關文章