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

美国服务器_mysql附加数据库_怎么申请

小七 141 0

手机云储存_个人_存储和服务器的区别

有一件事总是让我着迷,那就是配置和定制符合需求的东西。从我小时候用脚本定制IRC客户端,到高中时编写自己的Linux发行版,当然还有为游戏编写自定义插件。大学毕业后,我作为一名ABAP开发人员进入了一个咨询工作,接触到了Z前缀的疯狂世界,在那里你可以定制运行ABAP运行时的SAP系统。

SAP仍然以某种形式延续着可扩展性的传统,比如在我最喜欢的产品之一SAP Data Intelligence中。SAP Data Intelligence是一种允许用户将数据连接、发现、丰富和编排成可操作的见解的产品。为此,SAP Data Intelligence由Docker封装,反过来由Kubernetes管理。SAP Data Intelligence的用户可以配置Kubernetes和Docker,使其数据智能设置符合他们的需要。

作为数据科学家,阿里大数据分析,我的同事要求在SAP Data Intelligence中使用TensorBoard(提供可视化和机器学习实验工具的软件)。在这篇博文中,我很受启发地捕捉到了这项技术所需的配置。因此,请将此作为个人经验的结果,而不是"最佳实践"指南。

访问SAP数据智能实例。本文使用了sapdataintelligence(cloudedition)版本:2006.1.8您需要对sapdi租户具有管理权限才能安装应用程序。对集装箱化概念、Kubernetes和Docker有基本了解。

在这篇文章中,我将通过在TensorBoard中添加TensorBoard作为应用程序来扩展SAP数据智能。我还将介绍开发和部署应用程序所需的组件。

在写这篇文章的时候,我注意到它有点太长了,无法打包成一篇文章。因此,我将其分为两篇文章来展示我为同事们所做的工作:

第1部分:在sapdi中为TensorBoard配置定制解决方案(本文)和第2部分:打包、部署和运行包含自定义应用程序的解决方案。

通常,云服务器是,在SAP Data Intelligence中,您可以通过添加或修改DockerFiles、graphs、operators、Data Type和configuration Type来扩展功能。但如果您是租户的管理员,您也可以通过自定义解决方案添加自己的应用程序。

什么是解决方案?

在SAP Data Intelligence中,解决方案是一个可部署的包,包括属于解决方案使用的应用程序(图形、运算符、应用程序定义和静态文件)的所有人工制品。此软件包包含多个应用程序,这些应用程序一起使用以创建解决方案。把一个解决方案看作一个完整的单元来解决一个端到端的特定业务需求。

这方面的一个例子可以是一个将汽车牌照从主入口门记录到停车场的解决方案。这样的解决方案可以使用应用程序从照相机捕获图像,准备用于字符识别的图像文件,使用OCR从图像中获取字符,验证OCR结果并将其记录到数据库中。每个步骤都由一个单独的应用程序执行。要使解决方案工作,关于云服务器,所有应用程序(具有正确的版本)需要一起部署。这正是SAP Data Intelligence中的"解决方案"所做的。

解决方案以ZIP文件的形式提供,其中包含清单.json. 此清单文件描述解决方案的属性:名称、版本和依赖的组件。这个清单.json我使用的文件与此类似:

依赖项如下所示。

注意:每个依赖组件都列在花括号{}中,每个组件都有一个名称和版本定义。如果需要多个组件,则在{}:

之间用逗号列出属于SAP Data Intelligence自定义解决方案的所有文件都保存在单个文件夹中。此解决方案文件夹的结构通常如下:

注意:我用于此博客文章的人工制品以粗体打印。

应用程序描述符

解决方案中的每个应用程序都由应用程序描述符文件定义。此.json文件位于vsystem/apps文件夹中。当sapdi部署解决方案时,它随后会部署所有应用程序。应用程序描述符文件提供了每个应用程序必须如何部署的具体细节。

给应用程序描述符文件一个与您的应用程序名称相似的名称是一个很好的做法。在我的示例中,名称是TensorBoard,描述符是TensorBoard-应用程序.json.

名称:启动板在系统上部署后显示的名称。版本:我们应用程序的版本。apiVersion:系统API的版本。这与您的应用程序版本无关。类型:应用程序的类型。这将告诉系统在定义的主体中查找什么。目前,唯一支持的类型是Kubernetes。可见(可选):这是一个默认为true的布尔参数。这意味着该应用程序将与其他磁贴一起显示在sapdi启动板中。如果设置为false,应用程序将被隐藏。icon(可选):对包含应用程序图标的SVG文件的引用(在我的测试中它也使用PNG)。如果引用是绝对路径,它将被解释为外部URL。如果是相对的,它将被解释为一个存储库文件,物联网培训,其中"/"是解决方案的基本文件夹。mounts(可选):这个参数定义应用程序应该安装哪些挂载。您可以为存储库指定vhome工作区装载和vrep。vhome和vrep都是布尔参数。

由于应用程序的类型被指定为Kubernetes,因此您会注意到主体几乎完全像标准Kubernetes部署。

主体定义如下:

服务定义如下:

有关标准Kubernetes服务创建的示例,请转到以下链接:

Kubernetes服务YAML等价物为:

。规格端口[*].port字段指定系统在端口6006上公开服务器。这意味着当在这个端口上接收到请求时,系统将把请求重定向到应用程序。

部署定义如下:

例如标准Kubernetes部署创建,转到下面的链接,转到Kubernetes中更多信息容器的链接。