我在Ruby中尝试使用OpenFaaS
OpenFaaS是什么?
OpenFaaS是一个能在本地服务器上搭建的框架,类似于AWS Lambda。您可以通过使用Docker Swarm或Kubernetes来构建集群,并在每个集群上部署包含创建的函数的Docker容器来运行它们。据说Kubernetes能够进行更大规模的扩展,适合大型服务。此外,OpenFaaS还附带了用于监控的开源工具Prometheus以及用于函数管理的仪表盘,相当方便。
暂时试用一下
- サーバー側
由于我们考虑在个人服务器上运行,所以选择在Docker Swarm上启动OpenFaaS,而不是使用Kubernetes。大致的安装方法可以在 http://docs.openfaas.com/deployment/docker-swarm/ 中找到。
- クライアント側
安装faas-cli
curl -sSL https://cli.openfaas.com | sudo sh
2,创建函数
faas-cli new --lang ruby FUNCTION_NAME
对 3, FUNCTION_NAME.yml 进行修改。
provider:
name: faas
gateway: http://サーバーのホスト名:OpenFaaSゲートウェイのポート名
functions:
FUNCTION_NAME:
lang: ruby
handler: ./FUNCTION_NAME
image: Dockerhubのユーザー名/FUNCTION_NAME:latest
如果不登录Docker,就无法推送到Docker Hub,请注意。
4、创建Docker镜像并推送
faas-cli build -f FUNCTION_NAME.yml && faas-cli push -f FUNCTION_NAME.yml
五个部署
faas-cli deploy -f FUNCTION_NAME.yml
如果顺利的话,访问 http://服务器的主机名:OpenFaaS网关的端口号/ui/,将会在函数列表中看到FUNCTION_NAME。