关注分享主机优惠活动
国内外VPS云服务器

在 Kubernetes 上运行 SAP UI5 应用程序(第 1 部分)

总结:如果您上海研究院的同事想参加本次内部培训,您可以联系他们。 第三行指定生成新镜像文件的执行命令。 顺便说一句,尽管它本月被微软收购,但用户体验丝毫没有改变,而且仍然很棒。 对于其他替代用途,请参阅 Microsoft 收购替代用途期间撰写的文章。

2018年只剩30天了。 2017年的最后一天,杰瑞设定了他的下一个目标。 本微信公众号保证2018年每周至少公开发表一篇SAP原创技术文章

从2018年Jerry后台统计的文章数量来看,这个目标提前实现了。 为了感谢大家的支持,2018年的最后一天,Jerry与SAP成都研究院共同创作了一本合集:《2018年SAP成都研究院XX篇原创文章合集》即将发布。 2018年研究所同事发表的论文。

Jerry于11月中旬前往SAP上海研究院参加Kubernetes内部培训(更多信息请参见我们之前的文章《站在巨人肩膀上的牛顿:Kubernetes和SAP Kyma》)。 如果您SAP上海研究中心的同事想参加本次内部培训,请联系我的同事杨凯蒂。

为了避免很快忘记三位老师所教的知识,你需要为自己找一些练习来帮助你记住所学的知识。

当Jerry于2014年底加入SAP CRM Fiori开发团队时,我们开发的CRM Fiori应用程序仍然部署在经典的SAP Netweaver中。 有关更多信息,请参阅我的文章部署 SAP Fiori 应用程序的 3 种方法。

后来,我发现了Salesforce的云平台Heroku,并效仿很多程序员的榜样,在github上开设了博客。 之后接触到了SAP自己的云平台,自然决定尝试一下。 在以下平台上部署 SAP UI5:

步骤逐步在 Heraku 上托管 UI5 应用程序

逐步在 Github 上托管 Web 应用程序

部署 将您的应用程序添加到 Cloud Foundry,您可以从本地 - 本地 ABAP 系统访问资源

既然您已经了解了 Kubernetes,请运行您的 SAP UI5 Kubernetes 上的应用 让我们开始吧。

我用来部署的UI5应用程序叫做Jerry's Service Order。 这是一个典型的 Master-Detail 风格的应用程序。 左侧的主列表是所有服务订单的列表。 选择一项,它就会显示在右侧。 详细信息页面显示所选服务订单的详细信息。

这个 UI5 应用程序看起来如上图所示。 为清楚起见,显示的所有数据均来自项目。 读取 json 文件,但不支持创建新订单或修改订单。 该应用程序可以在我的 github 上找到:

https://github.com/i042416/je...

正如本文标题所示,最终目标是在此练习后,您将能够在 Kubernetes 上运行 UI5 应用程序,因此第一步是能够在容器内运行它。 与我们对 SAP Kubernetes 的内部培训类似,我们选择了非常流行的 Docker。 Welcome的容器引擎将用作本次Kubernetes练习的容器技术。

关于 Docker 的概述和安装,请参见阮一峰的文章:Docker 入门教程

http://www.ruanyifen.orgg.com/blo...

为什么要使用Docker容器?以下摘自阮一峰的博客:

“Docker是一个Linux容器包,提供了简单易用的容器使用界面,是目前最流行的Linux容器,就像将程序的依赖项打包到文件中,创建一个虚拟容器,然后在该虚拟容器上运行程序一样。 Docker可以让用户轻松创建和使用容器,甚至可以将自己的应用程序放置在容器中,而不必担心环境问题。 您可以对其进行版本控制、复制、共享和修改,就像管理常规代码一样。 ”

Jerry 将 SAP UI5 中运行应用程序的整个过程分为三个部分。 步骤:

1.在本地容器中运行UI5应用

2.创建包含UI5的本地容器。 应用到新镜像

3.将本地镜像上传到Docker hub并下载进行测试。

详细步骤如下。

1.让你的UI5应用程序在本地容器中运行

如果你能做的就是运行Docker的Hello World(事实上,两周前) Jerry(我以前就是这个水平,囧),当你收到这个需求时,你从哪里开始?

当然,你从一个包含可以运行UI5应用程序的Web服务器的镜像开始。 在这里,我在我的 Docker hub 中选择了一个拥有 10,4k star 的 Nginx 镜像。

使用以下命令直接运行镜像:

docker run -it nginx

使用docker ps获取实例化的容器ID。

接下来,进入正在运行的容器并运行 shell 命令。 :

docker exec -it bbc5d48a761c /bin/sh

# 出现提示时,选择进入目录容器: /usr/share/nginx/html

如果你能找到一种方法将 github 上的 UI5 应用程序的文件复制到这个目录中,你可以执行以下操作它将看起来像这样。 在本地 Docker 容器中运行 UI5 应用程序的目的。

可以通过多种方式将 Github 中的资源下载到 Docker 容器内的指定目录。 这里Jerry使用了我认为最简单的方法。 即我们使用Docker Volume技术将主机上的目录A以卷的形式连接到容器内部的html文件夹。 这样您就可以将 github 仓库的 webapp 文件夹直接下载到主机上的文件夹 A 中。 该文件夹现在将自动以卷的形式出现在容器内的映射目录中。

docker run -d -p 1081:80 -v pwd/webapp:/usr/share/nginx/html/webapp –name jerry-自定义 nginx

使用参数 -p 1081:80 通过端口 1081 公开 Nginx 服务。 因此,这次我们将使用http://localhost:1081。 测试新的 Started 容器实例。

再次运行docker exec进入docker容器并确保/usr/s已设置。hare/nginx/html 文件夹包含预期的 UI5 应用程序。

通过在浏览器中键入 localhost:1081/webapp 来验证您是否可以成功访问 UI5 应用程序。 此时,您的应用程序已在本地 Docker 容器中成功运行。

2.在新镜像中创建一个包含UI5应用程序的本地容器。

这个本地Docker实例是现在已经没有办法给其他人用了。 因此,您必须首先使用 dockerfile 创建包含您的 UI5 应用程序的 Docker 镜像,然后将其上传到 Docker Hub 以便其他用户可以下载。

创建一个随机文件夹,例如jerry-build,在其中放置一个webapp文件夹,并创建一个包含3行内容的dockerfile文件。

从 nginx:stable 复制

webapp/ /usr/share/nginx/html/webapp/

运行 ls [ k4] la /usr/share/nginx/html/webapp*

这三个指令从语义上来说并不难理解。 FROM 命令的第一行告诉 Docker 镜像构建例程使用 nginx 的稳定版本。 用作基础映像来构建新映像。 第二行COPY命令负责将webapp文件夹中的所有UI5资源文件复制到nginx docker镜像的对应目录中。 第 3 行 RUN 通过运行命名的 shell 命令 ls 生成一个新的映像文件。

更多关于dockerfile语法的信息,请参见Docker官方文档:

https://docs.docker.com/engin...

运行命令 Docker 构建d.最后。 代表“当前目录”。

查看上面“Builded successfully(构建成功)”的输出信息后,设置参数-t jerry[添加k4]nginx-镜像。 :1.0重新构建名为jerry-nginx-image的镜像:

如果构建成功,设置参数-p发布使用新端口 1082 的图像:

docker run -d -p 1082:80 jerry-nginx-image:1.0

目前 localhost:1082/webapp 也可以访问 UI5 应用程序。

使用 Docker 镜像显示构建的镜像并将其推送到 Docker hub。

3.将本地镜像上传到Docker hub

使用Docker hub与使用github几乎相同。 顺便说一句,GitHub 今年 6 月被微软收购,但用户体验完全没有改变,仍然很棒。

有关 github 的其他替代用途,请参阅 Jerry 的文章“- Github 的替代用途”,该文章是在 Github 被 Microsoft 收购时撰写的。

首先在Docker Hub上注册一个账号:

新建一个仓库:

获取Namei042416 /ui5-nginx:

新创建的空仓库会是这样的:

使用docker附: 本地运行Docker 容器 ID:

使用 commit 命令将更改发送到此本地容器(类似于 git commit):

docker commit 53de4188b702 i042416/ui5-nginx

本地发送的镜像现在准备推送到 Docker hub。

运行命令docker登录

将应用部署到CloudFoundry的朋友可以部署docker登录。 >strong>一个例子是cf登录(下面是cf登录的屏幕截图):

最终步骤是使用 docker Push。 将本地镜像推送到 Docker hub。

您可以在Docker hub中更新新建的仓库并观察本地推送情况。 记录和镜像尺寸。

现在您可以通知您的朋友在他们的计算机上使用此图像。 当然,你也可以删除电脑上的本地镜像,然后使用docker run来运行。

在这两种情况下,本地图片检索都会失败,并出现如下提示:本地未找到图片'i042416/ui5-nginx:latest'。然后,观察远程图片下载过程。 /p>

使用端口 1080 启动基于映像 i042416/ui5-nginx 的新容器。 /p>

localhost:1080/webapp 有效很好:

<sdocker Inspection命令确认启动的容器确实是基于镜像i042416/ui5-nginx。

在本主题的后面部分,我们将使用此 i042416/ui5-nginx 映像来开始使用 Kubernetes。 敬请关注。

阅读更多内容

在 Microsoft 收购 Github 后编写 - Github 的替代用途

部署 SAP Fiori 的 3 种方法应用

站在巨人的肩膀上:牛顿:Kubernetes 和 SAP Kyma

更多 Jerry 原创文章,请访问我们的公众号关注王子熙。

未经允许不得转载:主机频道 » 在 Kubernetes 上运行 SAP UI5 应用程序(第 1 部分)

评论 抢沙发

评论前必须登录!

 

本站不销售/不代购主机产品,不提供技术支持,仅出于个人爱好分享优惠信息,请遵纪守法文明上网

Copyright © 主机频道 - ZHUJIPINDAO.COM ,本站托管于国外主机商

© 2021-2024   主机频道   网站地图 琼ICP备2022006744号