by Fabiano Sbaratta
Tested on: OS Ubuntu 20.04.2 LTS - 64 bit - 16Gb RAM
sudo apt udpate sudo apt install nodejs npm node-typescript
sudo apt install docker.io
sudo apt install apt-transport-https curl
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
chmod +x minikube-linux-amd64
sudo mv minikube-linux-amd64 /usr/local/bin/minikube
(actual minikube version ### v1.21.0)
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
( kubectl version -o json ### v1.21.2)
curl -LO https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-kvm2
chmod +x docker-machine-driver-kvm2
sudo mv docker-machine-driver-kvm2 /usr/local/bin/
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
sudo addgroup libvirt
sudo usermod -aG libvirt $USER
newgrp libvirt
minikube config set vm-driver kvm2
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64
chmod +x skaffold
sudo mv skaffold /usr/local/bin/
minikube start
Configure the Ingress add-on to manage external access to the services in a cluster and load balancing features (see attached doc Ingress.odg)
minikube addons enable ingress
kubectl create secret generic jwt-secret --from-literal=JWT_KEY=****
kubectl apply -f challenge-portal/infrastructure/persistent-volume/auth-pv-volume.yaml kubectl apply -f challenge-portal/infrastructure/persistent-volume/customers-pv-volume.yaml kubectl apply -f challenge-portal/infrastructure/persistent-volume/tickets-pv-volume.yaml
kubectl apply -f challenge-portal/infrastructure/persistent-volume/auth-pv-claim.yaml kubectl apply -f challenge-portal/infrastructure/persistent-volume/customers-pv-claim.yaml kubectl apply -f challenge-portal/infrastructure/persistent-volume/tickets-pv-claim.yaml
skaffold dev
- check with "kubectl get ing" and "kubectl get pods -n kube-system | grep nginx-ingress-controller"
- the host later created emmachallenge.dev in /etc/hosts must point to the load balancer IP received from kubectl command
wget https://raw.githubusercontent.com/pythianarora/total-practice/master/sample-kubernetes-code/metrics-server.yaml kubectl create -f metrics-server.yaml kubectl top pods --use-protocol-buffers