Kubeless 是一个基于 Kubernetes 的 Serverless 框架。
创建 Kubeless 相关的资源文件。
export RELEASE=$(curl -s https://api.github.com/repos/kubeless/kubeless/releases/latest | grep tag_name | cut -d '"' -f 4)
kubectl create ns kubeless
kubectl create -f https://github.com/kubeless/kubeless/releases/download/$RELEASE/kubeless-$RELEASE.yaml
创建 Kubeless CLI 可执行文件:
export OS=$(uname -s| tr '[:upper:]' '[:lower:]')
curl -OL https://github.com/kubeless/kubeless/releases/download/$RELEASE/kubeless_$OS-amd64.zip && \
unzip kubeless_$OS-amd64.zip && \
sudo mv bundles/kubeless_$OS-amd64/kubeless /usr/local/bin/
示例函数(Python,test.py
):
def hello(event, context):
print event
return event['data']
kubeless function deploy hello --runtime python2.7 \
--from-file test.py \
--handler test.hello
- hello :函数名。
- --runtime python2.7 :执行环境是 Python 2.7
- --from-file :源文件
- --handler :执行函数。
kubeless function deploy hello --runtime python2.7 \
--from-file test.py \
--handler test.hello
测试函数:
kubeless function call hello --data 'Hello world!'
kubectl proxy -p 8080
再开一个新的终端:
curl -L --data '{"Another": "Echo"}' \
--header "Content-Type:application/json" \
localhost:8080/api/v1/namespaces/default/services/hello:http-function-port/proxy/
网友评论