高射炮打蚊子杀鸡用绝世好剑在SAP-Kyma上运行UI5应用

13次阅读

共计 2575 个字符,预计需要花费 7 分钟才能阅读完成。

国人在表述“大材小用”这个场景时,总喜欢用一些实物来类比,比如:高射炮打蚊子。

英国 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 的原创文章,请关注公众号 ” 汪子熙 ”:

正文完
 0