Installazione ed uso di Minikube
Installare kubectl
Installazione in Linux
Scaricare e installare:
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
sudo chown root:root /usr/local/bin/kubectl
Controllare:
kubectl version
Più leggibile:
kubectl version --output=yaml
Installare Minikube
Download del programma:
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
sudo chown root:root /usr/local/bin/minikube
Test:
minikube version
Aggiusta automaticamente l’ambiente per accedere al cluster dalla shell.
Altri Requisiti Software
Sono necessari per qualche comando di Minikube.
Installare il pacchetto conntrack
, che gestisce connessioni stateful:
sudo apt update
sudo apt install conntrack
Intallare il pacchetto cri-dockerd
, che inerfaccia il server a dasso livello di Docker a Kubernetes:
wget https://github.com/Mirantis/cri-dockerd
chmod +x cri-dockerd
sudo mv ./cri-dockerd /usr/local/bin/cri-dockerd
sudo chown root:root /usr/local/bin/cri-dockerd
Lancio di Minikube
minikube start
😄 minikube v1.27.1 on Linuxmint 20.3
✨ Automatically selected the docker driver. Other choices: virtualbox, ssh, none
📌 Using Docker driver with root privileges
👍 Starting control plane node minikube in cluster minikube
🚜 Pulling base image ...
💾 Downloading Kubernetes v1.25.2 preload ...
> preloaded-images-k8s-v18-v1...: 385.41 MiB / 385.41 MiB 100.00% 231.25
> gcr.io/k8s-minikube/kicbase: 387.11 MiB / 387.11 MiB 100.00% 228.11 KiB
> gcr.io/k8s-minikube/kicbase: 0 B [_____________________] ?% ? p/s 14m32s
🔥 Creating docker container (CPUs=2, Memory=2200MB) ...
🐳 Preparing Kubernetes v1.25.2 on Docker 20.10.18 ...
▪ Generating certificates and keys ...
▪ Booting up control plane ...
▪ Configuring RBAC rules ...
🔎 Verifying Kubernetes components...
▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟 Enabled addons: default-storageclass, storage-provisioner
🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
La prima volta può impiegare molto tempo, poichè scarica dalla rete delle immagini Docker.
Si può prescaricare l’immagine, e selezionarne una versione specifica:
docker pull gcr.io/k8s-minikube/kicbase:v0.0.35
Lanciare minikube con l’immagine scaricata:
minikube start --base-image='gcr.io/k8s-minikube/kicbase:v0.0.35'
Immagine docker dopo l’installazione:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
gcr.io/k8s-minikube/kicbase v0.0.26 b0c9ec980b3d 8 days ago 1.08GB
Tutto minikube è in un’unica immagine molto grossa
Vedere la configurazione di kubectl
:
kubectl config view
Informazioni sul cluster:
kubectl cluster-info
Kubernetes master is running at https://192.168.49.2:8443
KubeDNS is running at https://192.168.49.2:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Nodi attivi:
kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready master 46m v1.19.2
List dei pods:
kubectl get pod
No resources found in default namespace.
SSH alla shell minikube:
minikube ssh
Fermare Minikube
minikube stop
✋ Stopping node "minikube" ...
🛑 Powering off "minikube" via SSH ...
🛑 1 node stopped.
minikube stop
non cancella il container minikube
Rimuovere Minikube
Cancellare l’intero cluster:
minikube delete
N.B. Non farlo fino al termine di tutte le operazioni