2019-01-28 18:46:52 +01:00
2019-01-17 14:10:38 +01:00
2019-01-28 18:46:52 +01:00
2019-01-17 14:10:38 +01:00

Human-Connection Nitro | Deployment Configuration

Currently the deployment is not primetime ready as you still have to do some manual work. That we need to change, the following list gives some glimpse of the missing steps.

Todo`s

  • check labels and selectors if they all are correct
  • configure NGINX from yaml
  • configure Let's Encrypt cert-manager from yaml
  • configure ingress form yaml
  • configure persistent & shared storage between nodes
  • reproduce setup locally

The dummy directory has some lb configurations that did not work properly on Digital Ocean but could be used as a starting point for getting it right

Install Minikube, kubectl

There are many Kubernetes distributions, but if you're just getting started, Minikube is a tool that you can use to get your feet wet.

Install Minikube

Create a namespace locally

kubectl create -f namespace-staging.json

Change config maps according to your needs

cd ./staging
cp db-migration-worker-configmap.template.yaml db-migration-worker-configmap.yaml
# edit all variables according to the setup of the remote legacy server

Apply the config map to staging namespace

cd ./staging
kubectl apply -f neo4j-configmap.yaml -f backend-configmap.yaml -f web-configmap.yaml -f db-migration-worker-configmap.yaml

Setup secrets and deploy themn

cd ./staging
cp secrets.yaml.template secrets.yaml
# change all vars as needed and deploy it afterwards
kubectl apply -f secrets.yaml

Deploy the app

cd ./staging
kubectl apply -f neo4j-deployment.yaml -f backend-deployment.yaml -f web-deployment.yaml -f db-migration-worker-deployment.yaml

This can take a while. Sit back and relax and have a look into your minikube dashboard:

minikube dashboard

Wait until all pods turn green and they don't show a warning Waiting: ContainerCreating anymore.

Expose the services

kubectl expose deployment nitro-backend --namespace=staging --type=LoadBalancer --port=4000
kubectl expose deployment nitro-web     --namespace=staging --type=LoadBalancer --port=3000

Access the service

minikube service nitro-backend --namespace=staging
minikube service nitro-web     --namespace=staging
Description
Free and open-source social network for active citizenship.
Readme 114 MiB
Languages
TypeScript 35.7%
Vue 24.9%
JavaScript 19.2%
HTML 17.8%
SCSS 0.9%
Other 1.4%