问题标签 [diego]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-2.7 - 如何在 Bluemix 中将 Diego 应用程序迁移到 DEA?
我在仪表板中创建了一个 python 应用程序,我想在将代码部署到 DEA 之前将其迁移到 DEA。我
cf disable-diego <APP_NAME>
在 CLI 中尝试过 cf 命令,但是它返回了
Error: CF-BackendSelectionNotAuthorized - You cannot select the backend on which to run this application
{
"description": "You cannot select the backend on which to run this application",
"error_code": "CF-BackendSelectionNotAuthorized",
"code": 320005
}
在我在那里部署代码之前,我想在 DEA 中拥有我的应用程序,然后我会将它迁移到 Diego。这是我测试的一部分。
node.js - 如何从 IBM Cloud/Bluemix 上的 Cloud Foundry 下载/拉取已部署的应用程序和服务?
该应用程序(Node.js)由我以前的同事部署在 Cloud Foundry(IBM Cloud,US-South)上,但我们用于本地测试的私有 Github(独立于 IBM DevOps)中的代码看起来与他的不同已部署在 Cloud Foundry 上。我尝试了以下方法从云端下载它,但它们都不起作用:
Bluemix 文件查看器 - 我在新的 IBM Cloud 界面中找不到它。如何使用 DevOps 服务来实现它?参考
bx cf 下载 - 它不起作用,因为该应用程序在 Diego 后端运行。参考
bx cf 文件 - 因为应用程序在 Diego 后端运行,所以它不起作用。参考
bx cf curl - 我收到以下错误消息。关闭防火墙后,错误信息还是一样。我找不到解决这个问题的方法。参考
调用'cf curl /v2/apps/7fe6cdb8-521f-4716-954d-d9598502d049/droplet/download'...
失败的
创建请求时出错:
执行请求时出错:获取https://dal05.objectstorage.service.networklayer.com:443/v1/AUTH_9832c938-360c-442a-9713-a5ad3a5d5368/cc-droplets/20/ef/20efe5fb%!D(MISSING)0fa9% !D(MISSING)4ceb%!D(MISSING)8098%!D(MISSING)ec710c8ad0db/fb2ea5e85ec02b65e1d987a7223b92c414df5851?temp_url_sig=8e2b2f7ce7a420d323a0ed5f002669a095af5b12&temp_url_expires=1517896403 : dial tcp 10.1.129.3:443: getsockopt: connection refused
提示:如果您位于防火墙后面并需要 HTTP 代理,请验证 https_proxy 环境变量是否设置正确。否则,请检查您的网络连接。
cloud-foundry - 使用 PHP buildpack 构建的 Cloud Foundry 应用程序 - 自定义扩展在部署后消失
我开发了一个需要一些额外组件的 CIO Blumix Cloud Foundry PHP 应用程序。
我使用https://github.com/cloudfoundry/php-buildpack进行构建。我在它的文档中读到我可以添加自己的扩展。我这样做并添加了一个 tar.tgz 并在 extension.py 中添加了如何安装它的说明。
目标位置是:/home/vcap/。我看到安装运行正常,并且在部署阶段看到了该文件夹(在 DevOps Pipelines 部署阶段日志和历史记录中)。
但是当部署通过并且我使用已部署的 php 页面读取该文件夹时,我发现它不存在。我在部署日志中阅读了“容器已成功销毁”消息。也许整个安装环境都被破坏了?部署文件结构中的哪个安全位置可以安装组件,以便在部署通过后它们仍然存在?
我正在使用def compile(install):
来放置我的 unix 命令。示例:os.system('ls')
列出安装文件夹的内容。他们工作正常。
提前谢谢!
cloud-foundry - 如何在清单文件中提及 rootfs?
在 Pivotal Cloud Foundry 的工件暂存过程中,它会在 Diego 容器中暂存应用程序实例之前选择rootfs和buildpack详细信息。
Buildpack 详细信息可以在 manifest 文件中提及
我们还可以在 中提及 rootfs 的详细信息manifest.yml
吗?
cloud-foundry - 无服务器计算:Cloud Foundry 的 Diego Elastic Runtime
我试图理解无服务器架构,它说明了两个不同的东西:
作为应用程序开发人员,您只考虑您的功能,而不考虑服务器职责。好吧,服务器仍然必须在某个地方。通过服务器,我在这里理解它的意思是:
- 在基础设施端物理服务器/VM/容器
- 以及在软件方面:比如说,Tomcat
现在,我在 Cloud Foundry 工作,研究了 Cloud Foundry 的 ER 即 Diego Architecture 和 Cloud Foundry 的 buildpack 和开放式 Service Broker API 工具。实际上,Cloud Foundry 也已经在一个“类似”模型上工作,其中应用程序开发人员专注于他的代码,并且在 buildpack 的帮助下部署模型准备一个具有所需 Java 运行时和 Tomcat 运行时的 droplet,然后使用它来创建一个花园容器服务于用户请求。因此,开发人员不必担心 Tomcat 服务器或 VM/容器的来源。那么,我们不是已经在 Cloud Foundry 中满足了这一要求吗?
您的代码在执行期间开始存在,然后死亡。我同意这与我们在 Cloud Foundry 中编写的应用程序/微服务不同,因为它们是长时间运行的服务器进程。现在,如果我要在 Tomcat Web 服务器上开发具有 3 个 REST 端点(myapp/resource1、myapp/resource2、myapp/resource3 )的 Java webapp/微服务,我需要:
- 物理机或虚拟机或容器,
- Java 运行时
- Tomcat容器能够运行我的war文件。
按照 Serverless 的建议,我推断我应该只专注于非常具体的功能,比如处理对myapp/resource1的请求。现在,在这种情况下:
- 我对应的 Java 类应该是什么样子?
- 我在哪里可以访问 J2EE 对象,例如 HttpServletRequest 或 HttpServletResponse 对象以及其他 http 或 servlet 或 JAX-RS 或 Spring MVC 提供的由 Tomcat 运行时创建的对象?
- 我的 Java 类是否在执行期间创建并在执行后销毁的容器中执行?如果是,谁来管理这样一个容器的创建/销毁?
- 甚至需要Tomcat吗?是否有一种完全不同的通用方式来处理对这三个 REST 端点的请求?是不是有点像 httpd 服务器使用 python/Java CGI 脚本来处理 http 请求?
containers - 如何使用 Garden-RunC 后端手动进入应用容器
所以我一直在尝试这个教程来从 diego-cell VM 访问 runC 容器。但是,当我尝试运行
我得到错误
当我为给定的应用程序运行 cfdot 时,它确实列出了这个实例 ID,在导航到该位置时也是如此
/var/vcap/data/garden/depot/<container_id>
它存在。
但是运行时无法打开容器,当我运行时也是如此
vm中正在运行的容器列表为空
如链接中所述,我已以 root 身份运行所有内容。
为什么我无法访问 runC 容器,我错过了什么?
(PS:虽然意图相同,但我不是在寻找cf ssh)