Serverless(无服务器架构), 指的是由开发者实现的服务端逻辑运行在无状态的计算容器中,它由事件触发, 完全被第三方管理,其业务层面的状态则被开发者使用的数据库和存储资源所记录。简而言之就是我们只需要编写功能/业务函数就行了
安装Kubeless
需要在服务器上面安装相应的服务程序,这样才能使用Serverless服务,为了方便调试,我先在本地机器上面安装Kubeless,我的机器系统是macOS Catalina 10.15.4 (19E287)
, docker里面有Kubernetes
按照官方的安装文档,首先我们得安装Kubeless命令行工具,下载地址
把下载好的Kubeless
二进制文件放到环境变量里面去,顺便再把kubeless-*.yaml
这个文件下载下来,稍后就不用再GitHub
上面请求配置文件了,在Terminal里面执行下面的命令:
kubectl create ns kubeless #创建kubeless名称空间
kubectl create -f ./kubeless-v1.0.6.yaml #添加配置文件,kubeless-v1.0.6.yaml是GitHub上面下载的
经过一段时间使用,发现这个东西不太适合在我的机器上面运行,主要是Kubenetes的镜像老是拉不下来,用了代理之后,发现镜像很大,所以就换成另一个Serverless服务端的框架了,运行在JVM平台,就是接下来要介绍的openwhisk
Openwhisk
这个程序安装的方法十分简单,但是也是有些必要条件的:
- 安装有JDK
- 安装并运行Docker
- Nodejs环境
- wsk命令行
安装步骤十分简单
git clone https://github.com/apache/openwhisk.git
cd openwhisk
./gradlew core:standalone:bootRun
如果docker没有运行,它会提示的
其中
http://localhost:3233 (Controller)
http://localhost:3232/playground (Playground)