This is going to be a series of blog posts going through how to setup Kuberentes on Vagrant. The intention is to have a fully functioning CI/CD environment running in Kuberentes at the completion.
- Provision Servers with Vagrant In this post, we will walk through setting up the scripts needed to provision a couple of servers for our kuberentes cluster and use ansible to install the binaries on the VMs so that we only need to log in to the VMs and install Kuberentes.
- Install Kuberentes and CNI Next we will install Kuberentes using kubeadm and then install our CNI. We will be using Calico for our CNI.
- Rook/Ceph Installation After Kuberentes is installed, we will install Rook/Ceph so we can provision disk from our underlying VMs. This will be needed for many of the components in the CI/CD environment.
- MetalLB Next we install MetalLB. This will allow us to access our cluster via LoadBalancers instead of NodePorts.
- Istio and Ingress With MetalLB installed, we can now install istio and setup our ingress controllers for some of the monitoring components that come with istio like grafana, prometheus, jaeger and kiali.
- GOGS and Docker-registry After istio, next is installing a Git repo and setting up a docker-registry for the docker containers we will be creating.
- Jenkins and SonarQube Next we install Jenkins for our CI/CD platform and install SonarQube so we can perform static code analysis on our applications.
- Setup Demo project With all the underlying components now setup, we can create the code for our demo project.
- Setup CI/CD for demo project Now that we have a demo application we can start setting up our CI/CD pipeline.

