Minikube è uno strumento gratuito e open source che ti consente di configurare un cluster Kubernetes a nodo singolo all'interno del tuo sistema Linux. Minikube può essere installato su Linux, MacOS e sistema operativo Windows. Minikube supporta anche varie funzionalità Kubernetes come NodePorts, DNS, Container Network Interface, Ingress, ConfigMaps, Secrets e molto altro.
In questo tutorial impareremo come installare un Cluster Minikube a nodo singolo Kubernetes su Ubuntu 18.04 LTS.
Requisiti
- Un desktop Ubuntu 18.04 fresco installato sul tuo sistema.
- Sul tuo sistema è impostata una password di root.
Per iniziare
Innanzitutto, dovrai aggiornare il tuo sistema con l'ultima versione. Puoi farlo eseguendo il seguente comando:
apt-get update -y
apt-get upgrade -y
Una volta aggiornato il sistema, riavvia il sistema per applicare tutte le modifiche.
Quindi, installa alcuni pacchetti richiesti con il seguente comando:
apt-get install curl wget apt-transport-https -y
Installa VirtualBox Hypervisor
Minikube supporta sia l'hypervisor KVM che VirtualBox. Quindi, dovrai installare VirtualBox o KVM sul tuo sistema.
Puoi installare Virtualbox con il seguente comando:
apt-get install virtualbox virtualbox-ext-pack
Una volta completata l'installazione, puoi procedere al passaggio successivo.
Installa Minikube
Innanzitutto, dovrai scaricare l'ultima versione di Minikube sul tuo sistema. Puoi scaricarlo dai loro siti Web ufficiali con il seguente comando:
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
Una volta completato il download, copia il file scaricato in /usr/local/bin con il seguente comando:
cp minikube-linux-amd64 /usr/local/bin/minikube
Quindi, dai il permesso di esecuzione al minikube con il seguente comando:
chmod 755 /usr/local/bin/minikube
Quindi, controlla la versione di Minikube con il seguente comando:
minikube version
Dovresti vedere il seguente output:
minikube version: v0.34.1
Installa Kubectl
Kubectl è uno strumento per distribuire e gestire applicazioni su Kubernetes. Per impostazione predefinita, Kubectl non è disponibile nel repository predefinito di Ubuntu 18.04. Quindi, dovrai aggiungere il repository Kubernetes al tuo sistema.
Innanzitutto, scarica e aggiungi la chiave GPG con il seguente comando:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
Quindi, aggiungi il repository apt di Kubernetes con il seguente comando:
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | tee /etc/apt/sources.list.d/kubernetes.list
Quindi, aggiorna il repository e installa Kubectl con il seguente comando:
apt-get update -y
apt-get install kubectl -y
Una volta installato Kubectl, puoi verificare la versione utilizzando il seguente comando:
kubectl version -o json
Dovresti vedere il seguente output:
{ "clientVersion": { "major": "1", "minor": "13", "gitVersion": "v1.13.4", "gitCommit": "c27b913fddd1a6c480c229191a087698aa92f0b1", "gitTreeState": "clean", "buildDate": "2019-02-28T13:37:52Z", "goVersion": "go1.11.5", "compiler": "gc", "platform": "linux/amd64" } }
Avvia Minikube
Tutti i pacchetti richiesti sono installati. Ora puoi avviare Minikube con il seguente comando:
minikube start
Questo scaricherà l'immagine Virtualbox e configurerà il cluster Kubernetes come mostrato di seguito:
o minikube v0.34.1 on linux (amd64) > Creating virtualbox VM (CPUs=2, Memory=2048MB, Disk=20000MB) ... @ Downloading Minikube ISO ... 184.30 MB / 184.30 MB [============================================] 100.00% 0s - "minikube" IP address is 192.168.99.100 - Configuring Docker as the container runtime ... - Preparing Kubernetes environment ... @ Downloading kubeadm v1.13.3 @ Downloading kubelet v1.13.3 - Pulling images required by Kubernetes v1.13.3 ... - Launching Kubernetes v1.13.3 using kubeadm ... - Configuring cluster permissions ... - Verifying component health ..... + kubectl is now configured to use "minikube" = Done! Thank you for using minikube!
Ora puoi controllare lo stato del cluster con il seguente comando:
kubectl cluster-info
Dovresti vedere il seguente output:
Kubernetes master is running at https://192.168.99.100:8443 KubeDNS is running at https://192.168.99.100:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
Puoi anche controllare la configurazione predefinita di Kubectl con il seguente comando:
kubectl config view
Dovresti vedere il seguente output:
apiVersion: v1 clusters: - cluster: certificate-authority: /root/.minikube/ca.crt server: https://192.168.99.100:8443 name: minikube contexts: - context: cluster: minikube user: minikube name: minikube current-context: minikube kind: Config preferences: {} users: - name: minikube user: client-certificate: /root/.minikube/client.crt client-key: /root/.minikube/client.key
Per controllare i nodi in esecuzione, esegui il seguente comando:
kubectl get nodes
Uscita:
NAME STATUS ROLES AGE VERSION minikube Ready master 2m45s v1.13.3
Puoi anche accedere al Minikube Virtualbox con il seguente comando:
minikube ssh
Dovresti vedere il seguente output:
_ _ _ _ ( ) ( ) ___ ___ (_) ___ (_)| |/') _ _ | |_ __ /' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\ | ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/ (_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____) $
Ora esci dalla shell di Virtualbox:
$exit
Puoi anche interrompere ed eliminare il cluster kubernetes in qualsiasi momento con il seguente comando:
minikube stop
minikube delete
Puoi controllare lo stato di Minikube con il seguente comando:
minikube status
Dovresti vedere il seguente output:
host: Running kubelet: Running apiserver: Running kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100
Accedi al dashboard di Kubernetes
Per impostazione predefinita, Kubernetes viene fornito con dashboard web che può essere utilizzato per gestire il tuo cluster.
Puoi elencare tutti i componenti aggiuntivi di minikube con il seguente comando:
minikube addons list
Dovresti vedere il seguente output:
- addon-manager: enabled - dashboard: disabled - default-storageclass: enabled - efk: disabled - freshpod: disabled - gvisor: disabled - heapster: disabled - ingress: disabled - logviewer: disabled - metrics-server: disabled - nvidia-driver-installer: disabled - nvidia-gpu-device-plugin: disabled - registry: disabled - registry-creds: disabled - storage-provisioner: enabled - storage-provisioner-gluster: disabled
Quindi, elenca tutte le immagini del contenitore in esecuzione nel cluster con il comando seguente:
kubectl get pods --all-namespaces
Dovresti vedere il seguente output:
NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-86c58d9df4-76dkf 1/1 Running 0 4m30s kube-system coredns-86c58d9df4-wdtwb 1/1 Running 0 4m29s kube-system etcd-minikube 1/1 Running 0 8m17s kube-system kube-addon-manager-minikube 1/1 Running 0 8m6s kube-system kube-apiserver-minikube 1/1 Running 1 8m13s kube-system kube-controller-manager-minikube 1/1 Running 1 8m13s kube-system kube-proxy-5k8qf 1/1 Running 0 4m33s kube-system kube-scheduler-minikube 1/1 Running 0 8m2s kube-system kubernetes-dashboard-ccc79bfc9-z827s 1/1 Running 0 4m17s kube-system storage-provisioner 1/1 Running 0 4m13s
Ora, esegui il comando seguente per ottenere l'URL della dashboard di kubernate:
minikube dashboard --url
Dovresti vedere il seguente output:
- Enabling dashboard ... - Verifying dashboard health ... - Launching proxy ... - Verifying proxy health ... http://127.0.0.1:56508/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/
Il tuo URL web Minikube è ora generato. Quindi, apri il tuo browser web e digita l'URL http://127.0.0.1:56508/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/. Verrai reindirizzato alla dashboard di Kubernate come mostrato nella pagina seguente:
Congratulazioni! hai installato con successo Minikube su Ubuntu 18.04. Ora puoi gestire facilmente il tuo cluster Kubernetes tramite il tuo browser web.