Comment installer Minikube sur Ubuntu 24.04|22.04|20.04
Êtes-vous prêt à découvrir la puissance de Kubernetes ? Dans ce tutoriel étape par étape, nous vous montrons comment installer Minikube sur un système Ubuntu Linux avec comme hyperviseur de base Libvirt (KVM) ou VirtualBox. Nous commencerons par une introduction de base à Minikube, puis nous passerons à l'installation réelle de Minikube et à la manière de commencer à l'utiliser.
Minikube est un outil open source qui a été développé pour permettre aux développeurs et aux administrateurs système d'exécuter un seul cluster Kubernetes sur leur machine locale. Minikube démarre un cluster Kubernetes à nœud unique localement avec une faible utilisation des ressources. C'est idéal pour les tests de développement et les preuves de concept (POC).
Le guide ultime du bureau Ubuntu
Maîtrisez Ubuntu comme un pro – de la personnalisation élégante du bureau à l'automatisation puissante du terminal. Parfait pour les développeurs, les administrateurs systèmes et les utilisateurs avancés qui veulent un contrôle total de leur espace de travail.
Pour CentOS, consultez : Installer Minikube sur CentOS 7/8 avec KVM.
En résumé, Minikube regroupe et configure une machine virtuelle Linux, puis installe Docker et tous les composants Kubernetes dedans.
Minikube prend en charge des fonctionnalités de Kubernetes telles que :
- DNS
- NodePorts
- ConfigMaps et Secrets
- Tableaux de bord
- Environnement d'exécution des conteneurs : Docker, CRI-O et containerd
- Activation de CNI (Interface réseau de conteneur)
- Ingress
- Volumes persistants de type hostPath
Commençons à installer Minikube sur Ubuntu Linux.
Installer l'hyperviseur KVM ou VirtualBox
Exécutez les commandes suivantes pour mettre à jour tous les paquets du système vers la version la plus récente :
sudo apt update && sudo apt upgrade -ySi un redémarrage est requis après la mise à niveau, alors effectuez le processus.
[ -f /var/run/reboot-required ] && sudo reboot -fPour les utilisateurs de VirtualBox, installez VirtualBox en utilisant :
- Installer VirtualBox sur Ubuntu
Utilisateurs de l'hyperviseur KVM
Pour ceux qui souhaitent utiliser l'hyperviseur KVM, consultez notre guide sur comment installer KVM sur CentOS/Ubuntu/Debian
Puis suivez plutôt Comment exécuter Minikube sur KVM.
Télécharger et configurer Minikube sur Ubuntu
Vous devez télécharger le binaire de minikube. Je placerai le binaire dans le répertoire /usr/local/bin puisqu'il se trouve dans ` PATH.
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
chmod +x minikube-linux-amd64
sudo mv minikube-linux-amd64 /usr/local/bin/minikubeConfirmer la version installée
$ minikube version
minikube version: v1.33.1
commit: 5883c09216182566a63dff4c326a6fc9ed2982ffNous avons besoin de kubectl, qui est un outil en ligne de commande utilisé pour déployer et gérer des applications sur Kubernetes :
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectlRendez le binaire kubectl exécutable.
chmod +x ./kubectl
Déplacez le binaire dans votre PATH :
sudo mv ./kubectl /usr/local/bin/kubectlVérifier la version :
$ kubectl version -o json --client
{
"clientVersion": {
"major": "1",
"minor": "30",
"gitVersion": "v1.30.2",
"gitCommit": "39683505b630ff2121012f3c5b16215a1449d5ed",
"gitTreeState": "clean",
"buildDate": "2024-06-11T20:29:44Z",
"goVersion": "go1.22.4",
"compiler": "gc",
"platform": "linux/amd64"
},
"kustomizeVersion": "v5.0.4-0.20230601165947-6ce0bf390ce3"
}Démarrage de minikube sur Ubuntu
Maintenant que les composants sont installés, vous pouvez démarrer minikube. L'image de la machine virtuelle sera téléchargée et configurée pour un cluster Kubernetes à nœud unique.
- Minikube avec le pilote KVM
minikube start --driver=kvm2- Avec le pilote VirtualBox
minikube start --driver=virtualboxExemple de sortie des commandes d'exécution.
...................................
* Using the kvm2 driver based on user configuration
* https://minikube.sigs.k8s.io/docs/reference/drivers/none/
* Downloading driver docker-machine-driver-kvm2:
> docker-machine-driver-kvm2-...: 65 B / 65 B [---------] 100.00% ? p/s 0s
> docker-machine-driver-kvm2-...: 13.46 MiB / 13.46 MiB 100.00% ? p/s 100
* Downloading VM boot image ...
> minikube-v1.33.1-amd64.iso....: 65 B / 65 B [---------] 100.00% ? p/s 0s
> minikube-v1.33.1-amd64.iso: 314.16 MiB / 314.16 MiB 100.00% 37.68 MiB p
* Starting "minikube" primary control-plane node in "minikube" cluster
* Downloading Kubernetes v1.30.0 preload ...
> preloaded-images-k8s-v18-v1...: 342.90 MiB / 342.90 MiB 100.00% 38.75 M
* Creating kvm2 VM (CPUs=2, Memory=2200MB, Disk=20000MB) ...
* Preparing Kubernetes v1.30.0 on Docker 26.0.2 ...
- Generating certificates and keys ...
- Booting up control plane ...
- Configuring RBAC rules ...
* Configuring bridge CNI (Container Networking Interface) ...
* 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 defaultAttendez la fin du téléchargement et de l'installation, puis confirmez que tout fonctionne correctement.
Pour définir le pilote Minikube par défaut, utilisez :
# VirtualBox
minikube config set driver virtualbox
# KVM
minikube config set driver kvmOpérations de base de Minikube
Pour vérifier l'état du cluster, exécutez :
$ kubectl cluster-info
Kubernetes master is running at https://192.168.39.117:8443
KubeDNS is running at https://192.168.39.117:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.Notez que le fichier de configuration de Minikube se trouve sous ~/.minikube/machines/minikube/config.json
Pour voir la configuration, utilisez :
$ kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority: /root/.minikube/ca.crt
extensions:
- extension:
last-update: Sat, 13 Jul 2024 15:29:47 UTC
provider: minikube.sigs.k8s.io
version: v1.33.1
name: cluster_info
server: https://192.168.39.249:8443
name: minikube
contexts:
- context:
cluster: minikube
extensions:
- extension:
last-update: Sat, 13 Jul 2024 15:29:47 UTC
provider: minikube.sigs.k8s.io
version: v1.33.1
name: context_info
namespace: default
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
user:
client-certificate: /root/.minikube/profiles/minikube/client.crt
client-key: /root/.minikube/profiles/minikube/client.keyPour vérifier les nœuds en cours d'exécution :
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 5m29s v1.30.0
Accéder à la VM minikube en utilisant ssh :
$ minikube ssh
_ _
_ _ ( ) ( )
___ ___ (_) ___ (_)| |/') _ _ | |_ __
/' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\
| ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/
(_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____)
$ sudo su -Pour arrêter un cluster Kubernetes local en cours d’exécution, exécutez :
$ minikube stopPour supprimer un cluster Kubernetes local, utilisez :
$ minikube deleteKubernetes est livré avec un tableau de bord web qui
$ minikube addons list
...
|-----------------------------|----------|--------------|--------------------------------|
| ADDON NAME | PROFILE | STATUS | MAINTAINER |
|-----------------------------|----------|--------------|--------------------------------|
| ambassador | minikube | disabled | 3rd party (Ambassador) |
| auto-pause | minikube | disabled | minikube |
| cloud-spanner | minikube | disabled | Google |
| csi-hostpath-driver | minikube | disabled | Kubernetes |
| dashboard | minikube | disabled | Kubernetes |
| default-storageclass | minikube | enabled ✅ | Kubernetes |
| efk | minikube | disabled | 3rd party (Elastic) |
| freshpod | minikube | disabled | Google |
| gcp-auth | minikube | disabled | Google |
| gvisor | minikube | disabled | minikube |
| headlamp | minikube | disabled | 3rd party (kinvolk.io) |
| helm-tiller | minikube | disabled | 3rd party (Helm) |
| inaccel | minikube | disabled | 3rd party (InAccel |
| | | | [[email ]) |
| ingress | minikube | disabled | Kubernetes |
| ingress-dns | minikube | disabled | minikube |
| inspektor-gadget | minikube | disabled | 3rd party |
| | | | (inspektor-gadget.io) |
| istio | minikube | disabled | 3rd party (Istio) |
| istio-provisioner | minikube | disabled | 3rd party (Istio) |
| kong | minikube | disabled | 3rd party (Kong HQ) |
| kubeflow | minikube | disabled | 3rd party |
| kubevirt | minikube | disabled | 3rd party (KubeVirt) |
| logviewer | minikube | disabled | 3rd party (unknown) |
| metallb | minikube | disabled | 3rd party (MetalLB) |
| metrics-server | minikube | disabled | Kubernetes |
| nvidia-device-plugin | minikube | disabled | 3rd party (NVIDIA) |
| nvidia-driver-installer | minikube | disabled | 3rd party (Nvidia) |
| nvidia-gpu-device-plugin | minikube | disabled | 3rd party (Nvidia) |
| olm | minikube | disabled | 3rd party (Operator Framework) |
| pod-security-policy | minikube | disabled | 3rd party (unknown) |
| portainer | minikube | disabled | 3rd party (Portainer.io) |
| registry | minikube | disabled | minikube |
| registry-aliases | minikube | disabled | 3rd party (unknown) |
| registry-creds | minikube | disabled | 3rd party (UPMC Enterprises) |
| storage-provisioner | minikube | enabled ✅ | minikube |
| storage-provisioner-gluster | minikube | disabled | 3rd party (Gluster) |
| storage-provisioner-rancher | minikube | disabled | 3rd party (Rancher) |
| volumesnapshots | minikube | disabled | Kubernetes |
| yakd | minikube | disabled | 3rd party (marcnuri.com) |
|-----------------------------|----------|--------------|--------------------------------|Pour activer un module, utilisez la commande :
minikube addons enable <module>Exemple :
$ minikube addons enable portainer
! portainer is a 3rd party addon and is not maintained or verified by minikube maintainers, enable at your own risk.
! portainer does not currently have an associated maintainer.
- Using image docker.io/portainer/portainer-ce:2.15.1
* The 'portainer' addon is enabledPour ouvrir directement dans votre navigateur par défaut, utilisez :
$ minikube dashboardPour obtenir l'URL du tableau de bord
$ minikube dashboard --url
http://192.168.39.117:30000Accédez au tableau de bord Kubernetes en ouvrant l'URL dans votre navigateur préféré. Pour en savoir plus, consultez :
- Série Hello Minikube : https://kubernetes.io/docs/tutorials/stateless-application/hello-minikube/
- Guides Minikube pour débutants disponibles sur : https://kubernetes.io/docs/getting-started-guides/minikube/
Plus de guides sur Kubernetes :
- Planifier des Pods sur les nœuds du plan de contrôle (Master) de Kubernetes
- Ajout d'un nouveau nœud de travail Kubernetes à un cluster existant
- Déploiement d'un cluster Kubernetes sur CentOS avec Ansible et Calico CNI
- Déployer le serveur de métriques sur le cluster Kubernetes
- Extraire manuellement les images de conteneurs utilisées par Kubernetes kubeadm
- Installer et utiliser Helm 3 sur un cluster Kubernetes