Kubeless 学习手册(1):自建 Serverless 平台

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/

你可能感兴趣的:(Kubeless 学习手册(1):自建 Serverless 平台)