1、了解OpenFaas
1.1、为什么要用
Serverless/faas由于其开发速度快,完全屏蔽底层基础设施细节,低成本、自动扩缩容等优势,广受欢迎。但是如何在企业内独立实现一个serverless架构则是一件不容易的事情。OpenFaas的出现解决了这个问题,它使得serverless架构的部署变得简便。
1.2、他是什么
定义:OpenFaaS 项目旨在将Kubernetes集群或者独立的虚拟机等低级基础设施转化为管理无服务器函数的高级平台。从原理上来看,当我们安装OpenFaas的时候,默认还会安装prometheus(最受欢迎的开源可观测平台框架)、OpenFaas Gateway(OpenFaas网关,内置UI界面)、安装nats-queue-worker和nats(NATS是一个开源、轻量级、高性能的云原生消息系统)。
1.3、部署方式
openfaas有两个版本:OpenFaas CE
和 OpenFaas Pro
,一个是社区版,一个是企业版。官方建议内部使用、测试和学习使用社区版,生产和商业应用则使用Pro版本。
- 可以部署到各种容器系统:例如 Kubernetes、K3s、OpenShift、Swarm等,可以支持更加弹性的调度。
- 也可以使用faasd部署到单个主机上,比如Windows、MacOS和Linux主机上直接运行。
2、安装到linux主机上
faasd 是OpenFaas提供用于在单个主机上运行的服务,无需kubernetes,使其快速且易于管理。为了方便操作,还需要安装faas-cli。
注意faasd不要和docker安装在同一台主机上,因为两者可能使用不同版本的contianerd造成冲突。
2.1、ubuntu安装oepnfaas
# 下载openfass:https://github.com/openfaas/faasd
# 如果网络更好,直接安装,
yum update -y
cd faasd-master
./hack/install.sh
# 如果出现网络问题,部分环节安装可能不成功,届时需要手工接入,例如arkade的安装,如果不成功,会受到提示进行手工安装,手工安装完成以后可以修改install.sh,注释掉已经完成的部分
chmod +x ./arkade
mv ./arkade /usr/local/bin
ln -sf /usr/local/bin/arkade /usr/local/bin/ark
# 开始可能提示找不到version,可以先执行一下这个语句,再执行./hack/install.sh:
curl -sI https://github.com/openfaas/faasd/releases/latest | grep -i "location:" | awk -F"/" '{ printf "%s", $NF }' | tr -d '\r'
git clone https://github.com/openfaas/python-flask-template
cd template/
faas-cli new my-python-function --lang ./python3-http
sudo faasd up
参考链接:https://cloud.tencent.com/developer/article/2324109
总体说网络影响太大了,每一步都需要访问国外网络。