自建 Apache OpenWhisk 平台
Serverless
共 3858字,需浏览 8分钟
· 2021-10-16
OpenWhisk 简介
OpenWhisk 部署
apt install git
git clone https://github.com/apache/incubator-openwhisk.git openwhisk
cd openwhisk && cd tools/ubuntu-setup && ./all.sh
Apache OpenWhisk 安装配置
limits:
invocationsPerMinute: "{{ limit_invocations_per_minute | default(60) }}"
concurrentInvocations: "{{ limit_invocations_concurrent | default(30) }}"
concurrentInvocationsSystem: "{{ limit_invocations_concurrent_system | default
(5000) }}"
firesPerMinute: "{{ limit_fires_per_minute | default(60) }}"
sequenceMaxLength: "{{ limit_sequence_max_length | default(50) }}"
invocationsPerMinute 表示同一个 Namespace 每分钟调用 Action 的数量。 concurrentInvocations 表示同一个 Namespace 的并发调用数量。
concurrentInvocationsSystem 表示系统中所有 Namespace 的并发调用数量。 firesPerMinute 表示同一个 Namespace 中每分钟调用 Trigger 的数量。
sequenceMaxLength 表示 Action 的最大序列长度。
export OW_DB=CouchDB
export OW_DB_USERNAME=root
export OW_DB_PASSWORD=PASSWORD
export OW_DB_PROTOCOL=http
export OW_DB_HOST=172.17.0.1
export OW_DB_PORT=5984
ansible-playbook -i environments/local/ setup.yml
./gradlew distDocker
部署过程可能报错示例
apt install npm
ansible-playbook -i environments/local/ couchdb.yml
ansible-playbook -i environments/local/ initdb.yml
ansible-playbook -i environments/local/ wipe.yml
ansible-playbook -i environments/local/ apigateway.yml
ansible-playbook -i environments/local/ openwhisk.yml
ansible-playbook -i environments/local/ postdeploy.yml
执行脚本过程
docker ps --format "{{.Image}} \t {{.Names }}"
开发者工具
API host 用于部署 OpenWhisk 的主机名或 IP 地址的 API。 Authorization key(用户名或密码)用来授权操作 OpenWhisk 的 API。
./bin/wsk property set --apihost '172.17.0.1'
./bin/wsk property set --auth `cat ansible/files/auth.guest
设置权限
wsk action invoke /whisk.system/utils/echo –p message hello –result
{
"message": "hello"
}
体验测试
# test.py
def main(args):
num = args.get("number", "30")
return {"fibonacci": F(int(num))}
def F(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return F(n - 1) + F(n - 2)
/bin/wsk action create myfunction ./test.py --insecure
./bin/wsk -i action invoke myfunction --result --blocking --param nember 20
Serverless 工程实践系列
评论
OpenWhisk无服务器计算平台
OpenWhisk是一个由IBM开源的、事件驱动的无服务器计算平台,你可以将操作代码发送给OpenWhisk,然后提供OpenWhisk代码要处理的数据流。OpenWhisk负责处理计算资源的扩展,这
OpenWhisk无服务器计算平台
0
Apache FlexRIA平台
ApacheFlex是最初由Macromedia公司在2004年3月发布的,基于其专有的MacromediaFlash平台,它是涵盖了支持RIA(RichInternetApplications)的开
Apache FlexRIA平台
0
Apache PhotArkWeb相册平台
ApachePhotArk是一个Web相册平台,具备功能强大的图片访问控制。目前该项目还处于Apache的孵化状态。采用Java开发。注意:2013-01-01-本项目已经退出Apache孵化器。代码
Apache PhotArkWeb相册平台
0
Apache FalconHadoop 数据管理平台
ApacheFalcon提供了一个用于治理和编排Hadoop内部和周边数据流的数据处理框架。该框架为获取和处理数据集、复制与保留数据集、重新定向位于非Hadoop扩展中的数据集、维护审核跟踪与沿袭提供
Apache FalconHadoop 数据管理平台
0
Apache Geode数据管理平台
概览ApacheGeode是一个数据管理平台,提供实时的、一致的、贯穿整个云架构地访问数据关键型应用.Geode池化了服务器上的内存,CPU,网络资源,和本地磁盘,跨多个进程来管理应用对象和应用行为.
Apache Geode数据管理平台
0
Apache FalconHadoop 数据管理平台
Apache Falcon 提供了一个用于治理和编排 Hadoop 内部和周边数据流的数据处理框架。
Apache FalconHadoop 数据管理平台
0
Apache Hive数据仓库平台
ApacheHive(TM)数据仓库软件有助于使用SQL读取,写入和管理驻留在分布式存储中的大型数据集。建立在ApacheHadoop(TM)之上,它提供:通过SQL轻松访问数据的工具,从而实现数据仓
Apache Hive数据仓库平台
0