Fission 是由私有云服务提供商 Platform9 领导开源的 serverless 产品,它借助 kubernetes 灵活强大的编排能力完成容器的管理调度工作,而将重心投入到 FaaS 功能的开发上,其发展目标是成为 AWS lambda 的开源替代品。从 CNCF 视角,fission 属于 serverless 平台型产品。
Fission 包含 Function、Environment 、Trigger 三个核心概念,其关系如下图所示:

Fission 包含 Controller、Router、Executor 三个关键组件:
- export FISSION_NAMESPACE="fission"
- kubectl create namespace $FISSION_NAMESPACE
- kubectl create -k "github.com/fission/fission/crds/v1?ref=v1.17.0"
- helm repo add fission-charts https://fission.github.io/fission-charts/
- helm repo update
- helm install --version v1.17.0 --namespace $FISSION_NAMESPACE fission \
- --set serviceType=NodePort,routerServiceType=NodePort \
- fission-charts/fission-all
- kubectl create -k "github.com/fission/fission/crds/v1?ref=v1.17.0"
- export FISSION_NAMESPACE="fission"
- kubectl create namespace $FISSION_NAMESPACE
- kubectl config set-context --current --namespace=$FISSION_NAMESPACE
- kubectl apply -f https://github.com/fission/fission/releases/download/v1.17.0/fission-all-v1.17.0-minikube.yaml
fission客户端需要考虑不同的环境,本文是MacOs环境,
Fission CLI Reference | Fission
- curl -Lo fission https://github.com/fission/fission/releases/download/v1.17.0/fission-v1.17.0-darwin-amd64 \
- && chmod +x fission && sudo mv fission /usr/local/bin/
- $ fission check
- fission-services
- --------------------
- √ controller is running fine
- √ executor is running fine
- √ router is running fine
- √ storagesvc is running fine
-
- fission-version
- --------------------
- √ fission is up-to-date
- fission environment create --name python --image fission/python-env
-
- fission function create --name hello --env python --code hello.py --executortype poolmgr
-
- fission fn test --name hello
How to Develop a Serverless Application with Fission (Part 1) | FaaS on Kubernetes
- fission env create --name go --image fission/go-env --builder fission/go-builder
-
- fission fn create --name helloworld --env go --src hw.go --entrypoint Handler
-
- fission fn test --name helloworld
注意:go环境需要指定builder:--builder fission/go-builder
需要编译代码

kubectl logs -f查看日志
