faas-flow-infra
Faas-Flow infra provides the kubernets is and swarm deployment resources for faas-flow dependencies
Infra Components
Minio [DataStore backend]
Consul [StateStore backend]
Jaeger [Tracing backend]
Getting Started
First clone the repo
git clone https://github.com/s8sg/faas-flow-infra.git
cd faas-flow-infra
Deploy in Kubernets
Prerequisite
Install the helm CLI/client
Instructions for latest Helm install
- On Linux and Mac/Darwin:
curl "https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get" | bash
- Or via Homebrew on Mac:
brew install kubernetes-helm
Install tiller
- Create RBAC permissions for tiller
kubectl -n kube-system create sa tiller \
&& kubectl create clusterrolebinding tiller \
--clusterrole cluster-admin \
--serviceaccount=kube-system:tiller
- Install the server-side Tiller component on your cluster
helm init --skip-refresh --upgrade --service-account tiller
Deploy the Helm Chart
./deploy_helm_chart.sh
Manual Deployment
To deploy the components with official helm charts follow this guide
Deploy in Docker Swarm
Prerequisite
To deploy in swarm docker swarm need to installed and the targeted node need to have swarm cluster initialized. To initialize a swarm cluster follow this guide: https://docs.docker.com/engine/swarm/swarm-mode/.
Deploy the Stack
./deploy_docker_stack.sh
Consuming the Services
Once deployed components will be available as
Item | Swarm URL | Kubernets URL |
---|---|---|
StateStore | consul:8500 |
consul.faas-flow-infra:8500 |
DataStore | minio:9000 |
minio.faas-flow-infra:9000 |
EventManager Agent | jaegertracing:5775 |
jaegertracing.faas-flow-infra:5775 |
EventManager Query | jaegertracing:16686 |
jaegertracing.faas-flow-infra:16686 |