Scripts to deploy Mainflux on Kubernetes (https://kubernetes.io). Work in progress. Not ready for deployment.
- Create Persistent Volume for PosgreSQL to store data to.
kubectl create -f 1-mainflux-postgres-persistence.yml
- Claim Persistent Volume
kubectl create -f 2-mainflux-postgres-claim.yml
- Create PosgreSQL Pod
kubectl create -f 3-mainflux-postgres-pod.yml
- Create PosgreSQL Service
kubectl create -f 4-mainflux-postgres-service.yml
- Change
nats.conf
according to your needs. Create a Kubernetes configmap to store it:
kubectl create configmap nats-config --from-file nats.conf
- Deploy NATS:
kubectl create -f nats.yml
- Create Manager Service
kubectl create -f 1-mainflux-manager.yml
- Create HTTP Service
kubectl create -f 2-mainflux-http.yml
- Create MQTT Service
kubectl create -f 3-mainflux-mqtt.yml
- Create CoAP Service
kubectl create -f 4-mainflux-coap.yml
- Create Normalizer Service
kubectl create -f 5-mainflux-normalizer.yml
- Create Dashflux Deployment and Service
cd dashflux
kubectl create -f mainflux-dashflux.yaml
- Create TLS server side certificate and keys
cd certs
kubectl create secret tls mainflux-secret --key mainflux-server.key --cert mainflux-server.crt
- Create Config Map based on the default.conf file.
cd ..
kubectl create configmap mainflux-nginx-config --from-file=default.conf
- Create Deployment and Service from mainflux-dashflux.yaml file.
kubectl create -f mainflux-nginx.yaml
Configure NAT on your Firewall to forward ports 80 (HTTP) and 443 (HTTPS) to mainflux-nginx service