Mainflux.mainflux/k8s
Aleksandar Novaković 59c5e350e1 Add nginx ingress config to k8s services (#472)
Update README in accordance to latest changes. Add gRPC load
balancing setup. Add healthcheck to k8s setup.

Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
2018-11-27 12:56:36 +01:00
..
addons/influxdb NOISSUE - Influxdb batch add (#394) 2018-09-23 01:53:03 +02:00
mainflux Add nginx ingress config to k8s services (#472) 2018-11-27 12:56:36 +01:00
nginx NOISSUE - Add MQTT to kubernetes nginx (#293) 2018-05-21 18:18:13 +02:00
README.md Add nginx ingress config to k8s services (#472) 2018-11-27 12:56:36 +01:00

README.md

Deploy Mainflux on Kubernetes - WIP

Scripts to deploy Mainflux on Kubernetes (https://kubernetes.io). Work in progress. Not ready for deployment.

Steps

1. Setup NATS

  • To setup NATS cluster on k8s we recommend using NATS operator. NATS cluster should be deployed on namespace nats-io under the name nats-cluster.

2. Setup gRPC services Istio sidecar

  • To load balance gRPC services we recommend using Istio sidecar. In order to use automatic inject you should run following command:
kubectl create -f k8s/mainflux/namespace.yml

2. Setup Users service

  • Deploy PostgreSQL service for Users service to use:
kubectl create -f k8s/mainflux/users-postgres.yml
  • Deploy Users service:
kubectl create -f k8s/mainflux/users.yml

3. Setup Things service

  • Deploy PostgreSQL service for Things service to use:
kubectl create -f k8s/mainflux/things-postgres.yml
  • Deploy Things service:
kubectl create -f k8s/mainflux/things.yml

4. Setup Normalizer service

  • Deploy Normalizer service:
kubectl create -f k8s/mainflux/normalizer.yml

5. Setup adapter services

  • Deploy adapter service:
kubectl create -f k8s/mainflux/tcp-services.yml
kubectl create -f k8s/mainflux/<adapter_service_name>.yml

6. Setup Dashflux

  • Deploy Dashflux service:
kubectl create -f k8s/mainflux/dashflux.yml

7. Configure Internet Access

Configure NAT on your Firewall to forward ports 80 (HTTP) and 443 (HTTPS) to nginx ingress service