DEV Community

loading...
Cover image for Setup your own kubernetes cluster on VMs

Setup your own kubernetes cluster on VMs

pongsatt profile image pongsatt ・2 min read

My requirement is that I want a server I can can play around. I tried Docker with Jenkins CD and it was awesome. Then Docker swarm and Kubernetes came so I wanted to upgrade my Docker environment to a cluster. The problem is that I've got only a PC and I don't want to pay for my playground environment. Then I found that I can achieve this using a tool named kubeadm and some virtual machines. I would like to share my environment and how to set it up as well as my record for steps I used.

I divided the steps into a series of posts so it's easy and concise enough to follow.

Requirement

  • A kubernetes cluster based on kubeadm
  • Support dynamic storage provisioning based on NFS
  • Support Ingress with automatically acquire let's encrypt certificate
  • Be able to deploy application using Jenkin CD pipeline for both backend and frontend

You can follow each step in each post below.

Setup detail:

  1. Prepare Virtual Machine using Virtualbox and Ubuntu
  2. Setup kubernetes cluster using kubeadm (1 master 3 nodes)
  3. Setup dynamic storage class provisioner based on NFS
  4. Setup nginx ingress and cert-manager to automatically apply letsencrypt certificate
  5. Deploy static front-end application to kubernetes cluster using Jenkins CD and minio with automatic https cert
  6. Deploy back-end api application with database to the kubernetes cluster with Jenkins CD

Discussion (0)

pic
Editor guide