====== Minikube ======
===== Prérequis =====
Il faut tout d'abord installer [[Docker]] :
$ sudo apt update
$ sudo apt install apt-transport-https ca-certificates software-properties-common curl
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK
$ sudo add-apt-repository \
"deb [arch=armhf] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
$ sudo apt update
$ sudo apt install docker-ce
$ docker --version
Docker version 18.06.1-ce, build e68fc7a
Configurer le service :
$ sudo systemctl enable docker
Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable docker
$ sudo systemctl start docker
$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-10-25 17:03:35 CEST; 1s ago
Docs: https://docs.docker.com
Main PID: 24001 (dockerd)
Tasks: 42
CGroup: /system.slice/docker.service
├─24001 /usr/bin/dockerd -H fd://
└─24025 docker-containerd --config /var/run/docker/containerd/containerd.toml
(...)
Il faut aussi installer [[https://kubernetes.io/docs/tasks/tools/install-kubectl/|kubectl]] :
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
OK
$ echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
$ sudo apt update
$ sudo apt-get install -y kubectl
===== Installation de Minikube =====
$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
&& sudo install minikube-linux-amd64 /usr/local/bin/minikube
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 40.3M 100 40.3M 0 0 646k 0 0:01:03 0:01:03 --:--:-- 674k
==== Erreurs rencontrées ====
Si on a déjà une configuration kubectl, ça coince :
# minikube start
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Downloading Minikube ISO
170.78 MB / 170.78 MB [============================================] 100.00% 0s
Getting VM IP address...
Moving files into cluster...
Downloading kubeadm v1.10.0
Downloading kubelet v1.10.0
Finished Downloading kubelet v1.10.0
Finished Downloading kubeadm v1.10.0
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
E1025 17:12:58.574474 24198 start.go:289] Error setting up kubeconfig: writing kubeconfig: Error writing file : open : no such file or directory
================================================================================
An error has occurred. Would you like to opt in to sending anonymized crash
information to minikube to help prevent future errors?
To opt out of these messages, run the command:
minikube config set WantReportErrorPrompt false
================================================================================
Please enter your response [Y/n]:
Si on a pas installé virtualbox, ça coince :
$ sudo minikube start
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Downloading Minikube ISO
170.78 MB / 170.78 MB [============================================] 100.00% 0s
E1025 17:33:25.661999 822 start.go:168] Error starting host: Error creating host: Error executing step: Running precreate checks.
: VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path.
Retrying.
E1025 17:33:25.662215 822 start.go:174] Error starting host: Error creating host: Error executing step: Running precreate checks.
: VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path
================================================================================
An error has occurred. Would you like to opt in to sending anonymized crash
information to minikube to help prevent future errors?
To opt out of these messages, run the command:
minikube config set WantReportErrorPrompt false
================================================================================
Please enter your response [Y/n]:
J'ai eu une autre erreur où il me dit de faire un ''minikube delete'' suivi d'un ''minikube start'' (et où il se plaint déjà d'un problème de permissions...
$ minikube start
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
E1115 14:54:06.331331 30870 start.go:168] Error starting host: Error loading existing host. Please try running [minikube delete], then run [minikube start] again.: Error loading host from store: open /home/simon/.minikube/machines/minikube/config.json: permission denied.
Retrying.
E1115 14:54:06.331499 30870 start.go:174] Error starting host: Error loading existing host. Please try running [minikube delete], then run [minikube start] again.: Error loading host from store: open /home/simon/.minikube/machines/minikube/config.json: permission denied
================================================================================
An error has occurred. Would you like to opt in to sending anonymized crash
information to minikube to help prevent future errors?
To opt out of these messages, run the command:
minikube config set WantReportErrorPrompt false
================================================================================
Please enter your response [Y/n]:
J'essaye de faire le ''minikube delete'' comme conseillé.
$ minikube delete
Deleting local Kubernetes cluster...
Errors occurred deleting machine: Error deleting host: minikube: Error loading host from store: open /home/simon/.minikube/machines/minikube/config.json: permission denied
Encore un problème de permissions... C'est quoi les permissions sur ce dossier ?
$ ls -al /home/simon/.minikube/
drwxr-xr-x - root 25 oct 17:03 addons
.rw-r--r-- 1,3k root 25 oct 17:12 apiserver.crt
.rw------- 1,7k root 25 oct 17:12 apiserver.key
.rw-r--r-- 1,1k root 25 oct 17:12 ca.crt
.rw------- 1,7k root 25 oct 17:12 ca.key
.r----x--x 1,0k root 25 oct 17:08 ca.pem
drwxr-xr-x - root 25 oct 17:08 cache
.r----x--x 1,1k root 25 oct 17:08 cert.pem
drwxr-xr-x - root 25 oct 17:08 certs
.rw-r--r-- 1,1k root 25 oct 17:12 client.crt
.rw------- 1,7k root 25 oct 17:12 client.key
drwxr-xr-x - root 25 oct 17:03 config
drwxr-xr-x - root 25 oct 17:03 files
.r----x--x 1,7k root 25 oct 17:08 key.pem
drwxr-xr-x - root 25 oct 17:03 logs
drwxr-xr-x - root 25 oct 17:08 machines
drwx------ - root 25 oct 17:08 profiles
.rw-r--r-- 1,1k root 25 oct 17:12 proxy-client-ca.crt
.rw------- 1,7k root 25 oct 17:12 proxy-client-ca.key
.rw-r--r-- 1,1k root 25 oct 17:12 proxy-client.crt
.rw------- 1,7k root 25 oct 17:12 proxy-client.key
==== Résolution et lancement de minikube ====
Les permissions étaient en root partout ! C'est pour ça que ça coinçait !
$ sudo chown -R simon:simon /home/simon/.minikube/
$ minikube start
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Getting VM IP address...
Moving files into cluster...
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
Kubectl is now configured to use the cluster.
Loading cached images from config file.
**Yes!** Minikube est lancé !