问题标签 [faas]

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.

0 投票
1 回答
2241 浏览

docker - 尝试在 Raspberry Pi 3B+ 上运行 OpenFaas 函数时出现 ImageInspectError

我正在尝试使用OpenFaas 项目和在 2 Raspberry Pi 3B+ 上运行的 kubernetes 集群部署一个功能。不幸的是,应该处理该函数的 pod 将ImageInspectError声明...我尝试直接使用 Docker 运行该函数,该函数包含在 Docker 映像中,并且一切正常。

我在 OpenFaas github 上打开了一个issue,维护者告诉我直接向 Kubernetes 社区询问一些线索。

我的第一个问题是: ImageInspectError 是什么意思,它来自哪里?

这是我拥有的所有信息:

预期行为

Pod 应该运行。

当前行为

testfaceraspi不运行。

来自 pod 的日志:

豆荚描述:

和事件日志:

重现步骤(针对错误)

  1. 在 2 节点 k8s 集群上部署 OpenFaas
  2. 创建函数faas new testfaceraspi --lang python3-armhf
  3. 在 中添加以下代码handler.py

    /li>
  4. 更改.yml 提供商中的网关和图像:名称:faas 网关:http: //127.0.0.1 :31112

    /li>
  5. faas build -f testfacepi.yml

  6. 登录 DockerHubdocker login
  7. faas push -f testfacepi.yml
  8. faas deploy -f testfacepi.yml

你的环境

  • FaaS-CLI 版本(来自:的完整输出faas-cli version):

    /li>
  • Docker 版本(来自:的完整输出docker version):

    /li>
  • 操作系统和版本(例如 Linux、Windows、MacOS):

    /li>

提前感谢,如果您需要更多信息,请告诉我。

加卢什

0 投票
1 回答
301 浏览

node.js - 使用无服务器框架将 kubeless 功能部署到 kubernetes 集群时出错

我正在尝试使用无服务器部署 kubeless 功能。我使用 minikube 创建了一个 kubernetes 集群,并且我正在尝试按照以下链接进行操作

  1. 我安装了无服务器
  2. 创建了一个模板 kubeless-nodejs
  3. 安装的插件npm install
  4. 并尝试使用serverless deploy -v

但我收到一个错误

请指出我正确的方向

0 投票
1 回答
1210 浏览

go - 生产就绪的 Google Cloud Function 是什么样的?

我刚刚开始使用 Google Cloud Functions 进行整个无服务器操作,所有示例基本上都是“Helloworld”。

生产就绪功能是什么样的?

0 投票
3 回答
5740 浏览

visual-studio - Azure Function App = 在本地运行单个 Azure Function 以进行调试

在 Visual Studio 中,我创建了一个包含多个 Function 的 Azure Function App。

当我从工具栏启动函数应用程序调试器时,所有函数都会被触发。

有没有办法从 Visual Studio 2017 中的应用程序触发单个功能?

0 投票
2 回答
976 浏览

javascript - Azure Functions Node.js 自定义入口点

我正在编写一个云功能并尝试添加对多个提供商的支持。目前,对于 Google Cloud 和 AWS Lambda,这已经足够简单了,因为它们都允许我指定给定文件(根文件夹中的 index.js)的命名导出作为函数执行的入口点。

我认为一切都很好,但现在我想添加 Azure 支持,但它似乎坚持有一个带有函数名称的文件夹,它有自己的 index.js,这是执行的入口点。不幸的是,这破坏了我现有的体系结构(使其成为通用的,以允许多个提供者的一个入口点通过对执行环境的一些运行时检测来为该提供者返回正确的函数类型)。

Azure 有没有可能做一些类似于 GCF 或 Lambda 的事情,然后简单地说“我想要一个 HTTPS 触发的函数,从这个文件的导出开始”,然后它相信你会做剩下的事情?

Azure 文档没有太大帮助,我也无法在 Google 上找到很多用处。

0 投票
1 回答
146 浏览

aws-lambda - 哪个 FaaS 为每个函数执行提供更高的 /tmp 存储空间?

我们正在开发一个视频流媒体平台

我们需要转换用户上传的云存储中的视频文件

为此,我们决定使用 AWS Lamda。

但后来我们发现 lambda 无法处理超过 512 MB 的文件,因为分配的 /TMP 文件夹最大大小为 512 MB

我们在 S3 存储桶中的视频文件超过 1 GB

所以我们需要找出其他提供/TMP 空间至少 2 GB 的 FaaS 吗?

所以请推荐一个至少提供 2 GB 的 faas 提供商

注意:如果没有,请建议我另一种方法

0 投票
2 回答
478 浏览

docker - Fn 项目缺少 http 操作 (CRUD)

我整个下午都对容器原生无服务器平台“fn 项目”- http://fnproject.io/感到非常兴奋。

我喜欢 FaaS 模型的想法,但无意在应用程序的大部分生命周期内将自己锁定在特定的云供应商中 - 以及其他几个原因,包括希望在任何地方的小型服务器上启动整个应用程序(如果我选择的话) .

fn 项目似乎非常适合我的需求,直到我阅读完文档和所有相关的博客文章并突然想到‘什么?等等……什么???http 操作在哪里?

我无法在任何地方找到一个单一的参考资料,说明是否有可能为不同的 http 操作(即 POST、PUT、PATCH、DELETE)设置 http 触发器,更不用说我将如何做到这一点了。

我想构建 REST api(或者至少可以构建基于 json 服务的基于 http 的 RPC api——如果它没有超媒体链接,它就不是 REST ;)但是我们不要在这个线程中进入那个)

我在这里遗漏了什么(当然是正确的文档)?

谁能告诉我我将如何做到这一点,或者甚至告诉我我是否完全误解了我应该用它做什么?

我现在的兴奋已经减弱,但我希望有人会改变正确的信息。

我找不到其他人抱怨这个感觉很奇怪,所以我认为这可能表明我的误解。

OpenFaaS 等其他解决方案看起来很有趣,但如果可以避免的话,我不想学习如何部署 kubernetes 和 docker swarms :)

0 投票
1 回答
64 浏览

java - 如何在 Java 中实际实现(FaaS)Monolith to Microservice Serverless 架构?

我打算做 POC 来实现 faas serverless 架构

在实现此架构时要遵循的任何最佳实践以及如何实际实现它?

0 投票
0 回答
63 浏览

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 请求?
0 投票
1 回答
912 浏览

nginx - 如何增加 knative 服务的应用程序的执行时间?

我们正在使用 knative 为 nodejs 应用程序(使用 express)提供服务,该应用程序将执行工作流并返回执行结果。该应用程序必须执行可能需要几分钟(如果不是几小时)才能完成执行的工作流。

调用应用程序后,执行会在一定时间(大约 14 分钟)后停止,状态为: upstream request timeout

我们相应地修改了 express 的超时时间,它似乎有轻微的影响,但没有达到需要的程度。我们使用以下指南作为基线https://github.com/knative/docs/tree/master/docs/serving/samples/hello-world/helloworld-nodejs

是否有可以修改的配置值会增加应用程序本身的执行(可能是超时值)?