实验环境
Openwhisk:192.168.1.36 make lean部署
Fn project:192.168.1.35 √
Openwhisk核心提炼
环境准备
-
nodejs12
curl -sL https://rpm.nodesource.com/setup_12.x | bash - yum install -y nodejs node --version
-
jdk1.8
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
-
docker-compose
yum install -y docker-compose
-
荡下openwhisk-devtools
git clone https://github.com/apache/openwhisk-devtools.git cd openwhisk-devtools/docker-compose
检查linux工具是否齐全
yum install -y wget
yum install -y zip
yum install -y unzip
配置文件
设置apihost和auth
wsk property set \
--apihost '192.168.1.36' \
--auth '23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP'
安装wsk-cli
wget https://github.com/apache/openwhisk-cli/releases/download/1.2.0/OpenWhisk_CLI-1.2.0-linux-amd64.tgz
安装go(无服务器要有自己的环境)
wget https://go.dev/dl/go1.18.3.linux-amd64.tar.gz
启动Openwhisk
cd到docker-compose目录下,执行
make docker-pull
make lean
看到五个容器启动即为成功
测试
hello.go
package main
import "fmt"
// Main function for the action
func Main(obj map[string]interface{}) map[string]interface{} {
name, ok := obj["name"].(string)
if !ok {
name = "stranger"
}
fmt.Printf("name=%s\n", name)
msg := make(map[string]interface{})
msg["msg"] = "Hello, " + name + "!"
return msg
}
wsk action create helloGo hello.go
wsk action invoke helloGo --result --param name gopher