Mainflux.mainflux/k8s
Aleksandar Novaković 3d134d52a6 NOISSUE - Add MQTT to kubernetes nginx (#293)
* Fix nginx configuration for kubernetes

Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>

* Add dashflux to nginx configuration

Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>

* Update kubernetes documentation

Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>

* Update soft links paths to relative

Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
2018-05-21 18:18:13 +02:00
..
mainflux MF-269 - Replace UUID with BIGSERIAL as primary key (#291) 2018-05-21 12:51:46 +02:00
nats MF-164 - Split manager service (#266) 2018-05-10 23:53:25 +02:00
nginx NOISSUE - Add MQTT to kubernetes nginx (#293) 2018-05-21 18:18:13 +02:00
README.md NOISSUE - Add MQTT to kubernetes nginx (#293) 2018-05-21 18:18:13 +02: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

  • Update nats.conf according to your needs.

  • Create Kubernetes configmap to store NATS configuration:

kubectl create configmap nats-config --from-file=k8s/nats/nats.conf
  • Deploy NATS:
kubectl create -f k8s/nats/nats.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/<adapter_service_name>.yml

6. Setup Dashflux

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

7. Setup NginX Reverse Proxy for Mainflux Services

  • Create TLS server side certificate and keys:
kubectl create secret generic mainflux-secret --from-file=k8s/nginx/ssl/certs/mainflux-server.crt --from-file=k8s/nginx/ssl/certs/mainflux-server.key --from-file=k8s/nginx/ssl/dhparam.pem
  • Create Kubernetes configmap to store NginX configuration:
kubectl create configmap mainflux-nginx-config --from-file=k8s/nginx/nginx.conf
  • Deploy NginX service:
kubectl create -f k8s/nginx/nginx.yml

8. Configure Internet Access

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