- multinode cluster setup with separate master and nodes
- network configured with calico
- service type loadbalancer available with metallb
- dynamic persistent volumes provisioning for storageClass "nfs" (default class) available with nfs-client
- docker available on separate machine
- jenkins-x available on separate machine
- jenkins master with 2 connected slaves able to build docker images
- nexus package repository
- docker and docker repository
- chartmuseum helm repository
- on windows disable hyper-v
- install virtualbox
- install vagrant
- install vagrant plugins:
- vagrant plugin install vagrant-cachier
- vagrant plugin install vagrant-vbguest
- vagrant plugin install vagrant-disksize
- adjust number of nodes in cluster in vagrantfile (line (1..4).each do |i| config.vm.define "k8s-node-#{i}" do |d|) - default is 4 nodes
- if not running ci/cd adjust disksize for each node in vagrantfile (line .disksize.size) - default is 30gb per node and 100gb for nfs storage on dev machine
- vagrant up
- wait for all machines to boot up - check their status via cmd - vagrant status
- vagrant ssh dev
- cd /vagrant/ansible
- ansible-playbook -i inventory/dev dev.yml -v
- ansible-playbook -i inventory/k8s k8smaster.yml -v
- ansible-playbook -i inventory/k8s k8snode.yml -v
- ansible-playbook -i inventory/k8s k8sprovision.yml -v
- k8s cluster is available via kubectl on dev vm
- docker is available on dev vm
- jenkins-x is available on dev vm
- nfs-server is available on dev vm on path /nfs-k8s
- dev vm share /vagrant path with host machine - you can copy kubectl config there and setup kubectl on host machine
- if not running kubernetes adjust disksize for machine in vagrantfile (line d.disksize.size = "100GB") - default is 100gb
- vagrant up dev
- vagrant ssh dev
- cd /vagrant/ansible
- ansible-playbook -i inventory/dev cicd.yml -v
- in case of error (jenkins can sometimes not install plugins) retry previous command
- jenkins is available from host machine on 192.168.56.89:8080 with user "admin" and password "admin"
- nexus is available from host machine on 192.168.56.89:8081 with user "admin" and password "admin"
- docker registry is available on dev vm as 192.168.56.89:5000