在CloudFoundry和XSA环境中使用"部署程序"任务

2020-09-15 20:41发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) CloudFoundry/XS...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


CloudFoundry/XSA生态系统中似乎出现了越来越多的部署者任务。

所有操作似乎都基于相同的模式:它们是一次性任务,这些任务会作为应用程序推送到您的Cloud Foundry空间中,执行一次,然后保持停止状态。

我不明白的是为什么与部署相关的任务必须作为应用程序在Cloud Foundry空间中运行:

  • 它消耗了一个在他的帐户中可用的有限CF运行时
  • 它使用大量(可能很大)的已停止应用程序来"污染" CF应用程序空间,这些应用程序在部署后不相关,只会引起混乱

更确切地说,我知道:

  • 在某些情况下,运行在CF平台外部的部署者可能无法通过网络访问服务。 (尽管通常可以通过创建ssh隧道来解决,但对于上述某些服务甚至没有必要)
  • 我知道使用服务代理在平台内获取服务的凭据要容易一些(但是可以为此使用" cf服务密钥")

我也知道没有针对此问题的灵丹妙药,但是快速的Google搜索会产生如下解决方案: https://github.com/IBM-Cloud/oneoff

有人愿意为此提供其他观点吗? 您认为这种方法比其他方法有哪些优点?

谢谢!

维克多

1条回答
半个程序猿
2020-09-15 20:53 .采纳回答

您好,Viktor,

Cloud Foundry平台具有一种机制,用于管理实际上称为"任务" [1]的有限执行,该机制在Diego运行时版本中可用。 作为平台的一等公民,他们确实具有一些不错的功能,例如 执行历史和跟踪,以及应用程序。

与手头的机制相比,CF的任务并没有真正的不同。 所需步骤为:

1。 创建应用。

2。 上传应用位(包括要部署的应用内容)。

3。 登台应用程序(创建了一个小滴)。

4.1启动一个任务(使用应用程序分支),该任务在完成工作后结束。

4.2启动应用程序(使用应用程序分支),并在完成工作后将其停止。

5。 将停止的应用程序留在用户空间中(以便我们可以分析日志和在故障排除中部署的内容)。

我看到您对这些应用程序造成混乱的观点,但不幸的是,我也无法想象有任何灵丹妙药。 当前所有解决方案:cf任务; 您链接的" oneoff"; 这种机制需要一个绑定到服务的应用程序。 这个问题有一些挑战: 许多经纪人不支持服务密钥,并且只能从绑定的应用程序容器中获得此类服务。 执行历史和诸如" cf events"之类的跟踪也将是必需的。

在当前解决方案中,MTA部署者可以通过删除这些应用程序来"修复"状态(跳过步骤5),但是还应该有一些新的机制来保留历史记录和跟踪记录,这实际上会复制CF平台,只要有一个

此致

迪米塔尔

1。 https://docs.cloudfoundry.org/devguide/using-tasks。 html

一周热门 更多>