Kubernetes recipe: how to setup baremetal cluster (1.8.1) with Kubespray (2.3.0) and deploy Ingress Controller with Letsencrypt support on ScaleWay 2017-10-30

UPDATE 2017–11–18: Read new version of guide (with GlusterFS Native Storage Service)

1. Create new server on ScaleWay

Create new server on ScaleWay

Remember your Public IP (X.X.X.X) and Private IP (Y.Y.Y.Y)

Test connection to the server

2. Install requirements on local computer

3. Install kubernetes cluster

Clone Kubespray

Create ansible inventory file (replace X.X.X.X and Y.Y.Y.Y)

Change kubernetes definitions

Run kubernetes installation

Check installation

4. Deploy Ingress Controller (nginx-ingress)

Login to the master

Run mandatory commands (from https://github.com/kubernetes/ingress-nginx/blob/master/deploy/README.md#mandatory-commands)

Install with RBAC roles (from https://github.com/kubernetes/ingress-nginx/blob/master/deploy/README.md#install-with-rbac-roles)

Deploy Service (change Y.Y.Y.Y to your Private IP)

Check that nginx-ingress-controller and default-http-backend is running

Check that nginx-ingress-controller was binded to 80, 443 port

Check default-http-backend

4. Deploy Let’sencrypt Service for Ingress

Deploy kube-lego (change lego.email)

Check kube-lego is running

5. Deploy example application

Add an A record in your DNS and wait about three hours for your changes to propagate

Deploy echoserver (replace echo.example.com with your domain name)

Check for letsencrypt certificate

Check ingress resources

Test deployment

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store