Kubernetes

Prerequisites

This document assumes that you already have a running kubernetes cluster. If you don't please refer to the kubernetes documentation. If you would like to test AuthMachine on kubernetes locally the recommended way is to get minikube running.

Overview of components

The minimal AuthMachine cluster consists of:

  • AuthMachine app server
  • PostgreSQL database
  • Redis server 

Note, that the latter two components require persistent storage volume.

Running PostgreSQL and Redis

Download the following example configuration files:

You might want to adjust amount of storage for persistent volumes in postgresql-pv.yaml and redis-pv.yaml files.

NB: For the sake of simplicity, we specified PostgreSQL password in plain text form in the postgresql.yaml file. Consider using Kubernetes Secret instead for greater security.

After you finished editing configuration files, run the following commands to create deployments and services:

$ kubectl create -f postgresql-pv.yaml
$ kubectl create -f postgresql.yaml
$ kubectl create -f redis-pv.yaml
$ kubectl create -f redis.yaml

Then verify that everything has been created successfully by running

$ kubectl get pods,svc,deployment --all

This should list newly created deployments and services.

Running AuthMachine app server

Download authmachine.yaml file. Edit it and change the following variables as per need:

  • AUTHMACHINE_DB_PASSWORD
  • AUTHMACHINE_SECRET_KEY (should be a unique per installation random string)
  • AUTHMACHINE_BASE_URL
  • AUTHMACHINE_SECRET_TOKEN (should be a unique per installation random string)
  • AUTHMACHINE_MAIL_SERVER
  • AUTHMACHINE_MAIL_PORT
  • AUTHMACHINE_MAIL_USERNAME
  • AUTHMACHINE_MAIL_PASSWORD
  • AUTHMACHINE_MAIL_USE_TLS

Then create a deployment by running the following command:

$ kubectl create -f authmachine.yaml

Adding Nginx frontend web server

tbd

Attachments

Last updated on Sep 16 2018