云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

网站空间_华为数据库_超低折扣

小七 141 0

在我之前的几篇博客中,我探讨了基于云的开发环境,以及如何将它们与基于SAP的开发结合使用https://blogs.sap.com/2019/07/11/sap-hana-development-from-alternative-ides/https://blogs.sap.com/2019/07/09/sap-development-using-amazon-cloud9/https://blogs.sap.com/2019/05/22/sap-development-using-google-cloud-shell/https://blogs.sap.com/2019/04/16/developing-with-hana-deployment-infrastructure-hdi-without-xsacf-or-web-ide/

在本系列文章中,我试图展示SAP HANA和SAP云应用程序编程模型是如何在SAP Web IDE和SAP云平台的世界中实现的。在上一篇博客中,我们展示了如何在云容器中完成完整的开发,但仍然将HANA作为服务连接到SAP云平台的用户身份验证和授权。但是我们使用的默认方法-环境.json仅适用于本地开发和测试。

在本博客中,我想进一步说明如何将SAP云应用程序编程模型应用程序(具有基础HANA DB连接)打包并部署到Kubernetes,但替换违约-环境.json带着K8S秘密的概念。在本博客结束时,我们将有一个应用程序代码的单一副本,可以在XSA内部部署、SAP云平台Cloud Foundry或任何基于Kubernetes的环境上运行,并连接到实时HANA系统。

Kubernetes环境

运行Kubernetes有许多不同的选项。我可以在任何一个主要的云超尺度仪上旋转一个库伯内特斯星系团天青Google云平台

作为SAP内部人员,我甚至可以利用我们内部的Gardener环境来开发Kubernetes。有这么多的选择,老实说,我想做的事情在这些环境中的任何一个都会起到几乎相同的作用。

但最终我决定在我的笔记本电脑上本地设置我自己的Kubernetes环境。有一个简单的解决方案叫做Minikube:

https://kubernetes.io/docs/tasks/tools/install-minikube/

这应该允许我使用Kubernetes的核心功能,而不必深入任何特定Hyperscaler的细节。它还允许我玩离线与零云托管成本。

虽然有一个Minkube安装选项的MacOS和Windows,我最终决定我想安装和工作在Linux。我的笔记本电脑上已经有一个opensusevm映像,所以我只需要在那里安装和工作。我认为这种方法有几个优点。如果我搞砸了(在这个过程中我只做了一次),大数据培训班哪个好,我可以使用VM快照轻松回滚整个环境。另外,通过使用Linux,如果我想将其移动到某个Hyperscaler上的云上,我会尽量靠近环境。

我决定做的另一件事是在Minikube上安装项目Kyma。

https://kyma-project.io/

Kyma是源于SAP的开源项目,它收集并添加了大量有用的功能上的香草Kubernetes顶部。现在,为了这个博客的目的,我不会使用太多的额外功能。我将使用的主要部分只是用于管理的Web UI,大数据分析是什么,但我向您展示的所有内容也可以通过Kubernetes命令行(kubectl)来完成。

因此,为了让Minikube和Kyma在我的VM中运行,我已经按照这里的安装说明:

https://kyma project.io/docs/root/kyma/#安装-本地安装kyma

我已经下载了所有的必备软件,包括kyma命令行工具本身。它将完成大部分的安装工作。kmya provision minikube命令设置了基本的Kubernetes环境。在那里,我只需要kyma install命令来下载和设置所有附加服务和应用程序。

当然,您可以按照kyma安装说明的其余部分操作–例如安装自签名证书和测试Web管理用户界面。为了这个博客的目的,我将假设设置按照Kyma网站上的说明进行了完美的设置,我们已经准备好开发了。

为Docker准备开发

我将从一个现有的SAP云应用程序编程模型应用程序开始。这是我在上一篇文章中使用的同一个应用程序blog和它只是一个非常小的例子,有两个数据库表,它们作为一个节点.jsOData V4服务。我想在已经安装了VS代码的Linux虚拟机中完成所有代码。因此,淘客pid,我将首先从Github克隆我现有的CAPM项目,它位于is为上一个blog工作的州,如果您还记得的话,它运行OData服务,并使用默认值作为云平台上的服务连接到HANA-环境.json连接配置

https://github.com/jungsap/my-hana-capm

开始前为了运行连接到HANA的OData服务,我只想把重点放在将应用程序部署到Kubernetes上节点.js我只需要一个小的web服务器,它将返回helloworld,我将通过从终端运行Node(通过NPM)在本地进行测试。我可以打开本地浏览器并通过localhost连接。所以我有一份工作节点.js服务,但这并不是那么令人印象深刻。

现在可能是解释Cloud Foundry和Kubernetes之间主要区别之一的好时机。Cloud Foundry在部署应用程序和服务方面有一种非常固执己见的方法。他们有一小套预配置容器环境的构建包。开发人员可以选择其中一个构建包,但每个构建包的环境配置通常受到限制。这是一种"告诉我你想要哪种环境(节点、Java等),我会找出最好的方法"的方法,Kubernetes期望Docker容器作为任何部署的起始映像。这意味着即使对于我们最基本的问候世界节点.js应用程序中,我们将要构建一个docker映像。

这从一个Dockerfile开始,它基本上为容器映像的创建编写脚本。