====== Minikube for dev ====== ===== - Headline ===== * https://computingforgeeks.com/how-to-install-minikube-on-ubuntu-18-04/ * https://medium.com/faun/using-minikube-profiles-def2477e968a * https://dev.to/sandrogiacom/kubernetes-for-java-developers-setup-41nk ==== - Minikube installation (Ubuntu 18.04) ==== === - Install docker === sudo apt-get remove docker docker-engine docker.io sudo apt install docker.io sudo systemctl start docker sudo systemctl enable docker docker --version === - Install minikube === Install kvm (optional on VM): sudo apt-get -y install qemu-kvm libvirt-bin virt-top libguestfs-tools virtinst bridge-utils sudo modprobe vhost_net sudo lsmod | grep vhost echo "vhost_net" | sudo tee -a /etc/modules Install minikube: 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 minikube version Install kubectl: 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 Install docker kvm driver: 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/ Start minikube with profile: minikube start --vm-driver=kvm2 -p visrc.kube --memory=4096 On a VM run vm-driver NONE and no multi-profile and requires sudo: sudo minikube start --vm-driver=none Delete minikube profile minikube delete -p intg-test Note that after the cluster is deleted, the now-empty~/.minikube/profiles/intg-test subfolder and the k8s context aren’t deleted automatically. Some manual clean-up is necessary. ==== - Using minikube in local env ==== * https://medium.com/@markgituma/kubernetes-local-to-production-with-django-2-docker-and-minikube-ba843d858817 The docker command line in the host machine can be configured to utilize the docker daemon within minikube by running: $ eval $(minikube docker-env) There are several reasons as to why it is useful to use the minikube docker daemon: * Docker images to be deployed into the local cluster don’t have to be pushed to a container registry and pulled in by Kubernetes, they can be built inside the same docker daemon as minikube and be used directly (change deployment yaml pull policy from alwaysPull to IfNotPresent, more about this later). * As a result, it’s good for running local experiments as has a much faster turn around time especially if an external registry is required. * It applies when you have a single VM (node) docker cluster and want to use the docker daemon inside the VM. To confirm that the docker cli is using the minikube docker daemon, run: $ docker info | grep Name Name: minikube In order to revert back to the host docker daemon, simply run: $ eval $(minikube docker-env -u) **If the workstation goes sleep, stop and start minikube again** **If you started your minikube instance with profile** minikube start -p ClusterName Then you'll have to put the profile name for each command minikube docker-env -p ClusterName So you finally can run next command to get it work eval $(minikube docker-env -p YourClusterName) ==== - Tools ==== Validating yaml: #install yamllint yamllint kubernetes/django/deployment.yaml