Aller au contenu

Minikube

Dans cet article

Information

Minikube est un utilitaire en ligne de commande qui vous permet de déployer facilement un cluster Kubernetes local. Il est utile aux développeurs qui ont besoin d'un environnement Kubernetes local pour les tests et le développement d'applications.

Attention

Ceci n'est qu'un utilitaire de gestion des gestionnaires de conteneurs ou de machines virtuelles, tels que : Docker, QEMU, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, ou VMware Fusion/Workstation. Vous devez installer vous-même le logiciel de conteneurisation ou de VM requis sur le serveur !

Minikube. Caractéristiques clés

  • Lancez rapidement un cluster Kubernetes local – Minikube vous permet de lancer un cluster Kubernetes à nœud unique sur une machine locale en quelques minutes seulement. Vous n'avez pas besoin de passer par une configuration complexe ou de mettre en place un cluster multi-nœuds complet.
  • Prise en charge de différents pilotes de virtualisation – Un cluster Minikube peut fonctionner à l'intérieur de VirtualBox, Hyper-V, VMware et nativement sur Linux, macOS et Windows. Cela vous donne une flexibilité dans la façon dont vous le déployez.
  • Configuration automatique de kubectl – une fois le cluster démarré, Minikube configure automatiquement kubectl pour se connecter à celui-ci. Aucun besoin de configurer manuellement le client Kubernetes.
  • Tableau de bord intégré et applications – le tableau de bord, heapster, contrôleur d'ingress et d'autres outils utiles sont ajoutés au cluster dès l'installation. Cela accélère le démarrage.
  • Commandes de gestion pratiques – minikube start, stop, delete et d'autres commandes facilitent la gestion du cycle de vie du cluster directement depuis le terminal.
  • Modes d'isolation réseau – il est possible de démarrer le cluster en mode réseau host‑only pour l'isoler du réseau principal.
  • Prise en charge des add‑ons – des fonctionnalités supplémentaires telles que la surveillance, la journalisation, la visualisation, etc. peuvent être activées via des add‑ons.
  • Intégration avec les services cloud – kubectl et le tableau de bord peuvent être personnalisés pour fonctionner avec des clusters distants dans le cloud.

Fonctionnalités de déploiement

ID Nom du logiciel Système d'exploitation compatible VM BM VGPU GPU Min CPU (Cœurs) Min RAM (Go) Min HDD/SSD (Go) Actif
44 Minikube Ubuntu 22.04 + + + - 2 2 - COMMANDER

Note

À moins d'indication contraire, par défaut nous installons la dernière version publiée du logiciel depuis le site Web du développeur ou les dépôts du système d'exploitation.

Démarrage après le déploiement de Minikube

Une notification sera envoyée à l'e‑mail spécifié lors de l'enregistrement indiquant que le serveur est prêt à être utilisé après le paiement de la commande. Elle contiendra l'adresse IP du VPS, ainsi que le login et le mot de passe pour la connexion.

Les clients de notre société gèrent le matériel dans le panneau de contrôle du serveur et de l'API — Invapi.

Vous pouvez trouver les données d'autorisation soit dans l'onglet Info >> Tags du panneau de contrôle du serveur, soit dans l'e‑mail qui a été envoyé.

  • Mot de passe: Envoyé à votre adresse e‑mail après que le serveur soit prêt à être utilisé suite au déploiement du logiciel.

Pour travailler avec le service, vous devez vous connecter au serveur via SSH :

ssh root@<server_ip>

Ensuite, exécutez la commande start, qui créera automatiquement un cluster Kubernetes local en utilisant plusieurs conteneurs Docker et la dernière version stable de Kubernetes :

minikube start

La commande prendra un certain temps à s'exécuter et devrait afficher des informations indiquant que kubectl est configuré.

Note

Si vous avez besoin d'exécuter minikube avec une version Kubernetes non standard pour vérifier la compatibilité, vous pouvez utiliser la commande minikube start avec le paramètre --kubernetes-version, par ex. v1.2.3.

L'installation de minikube via Homebrew installe également kubectl, l'outil en ligne de commande principal pour gérer les clusters Kubernetes. Vous pouvez maintenant exécuter la commande kubectl get, comme vous le feriez pour tout autre cluster Kubernetes, pour lister tous les pods en cours d'exécution :

kubectl get pods -A

Le paramètre -A renvoie les pods de tous les espaces de noms.

Après avoir effectué les étapes ci-dessus, un cluster Kubernetes local sera créé et vous pourrez travailler avec lui à l'aide d'outils Kubernetes standard tels que kubectl.

Vous pouvez utiliser la commande pour accéder au tableau de bord :

minikube dashboard
Une fois exécuté, un lien sera affiché, par ex. http://127.0.0.1:42049/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/. Il doit être modifié – saisissez l'adresse IP du serveur, puis accédez au tableau de bord.

Création de service

Par défaut, le pod n’est accessible qu’à partir d’une adresse IP interne au sein du cluster Kubernetes. Pour rendre le conteneur hello‑node disponible hors du réseau virtuel Kubernetes, vous devez exposer le pod en tant que service Kubernetes.

Vous pouvez rendre le sous‑réseau accessible depuis Internet public en utilisant la commande kubectl expose :

kubectl expose deployment hello-node --type=LoadBalancer --port=8080

Le drapeau --type=LoadBalancer indique que le service doit être visible en dehors du cluster.

Le code de l’application dans l’image de test n’écoute que sur le port TCP 8080. Si vous configurez l’application pour être disponible sur un port différent dans la commande kubectl expose, les clients ne pourront pas se connecter à ce port.

Vous pouvez vérifier le service créé avec la commande :

kubectl get services

La conclusion serait quelque chose comme ceci :

NAME             TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)               AGE
hello-node       LoadBalancer   10.108.144.78  <pending>        8080:30369/TCP        21s
kubernetes       ClusterIP      10.96.0.1      <none>           443/TCP               23m

Pour les fournisseurs cloud qui prennent en charge les load balancers, une adresse IP externe est fournie pour accéder au service. Dans Minikube, le type LoadBalancer rend le service disponible via la commande minikube service.

Exécutez la commande :

minikube service hello-node

La commande ouvre une fenêtre de navigateur qui exécute l’application et affiche sa réponse.

Note

Pour des informations détaillées sur les paramètres de base de Minikube, consultez la documentation des développeurs.

Commander un serveur avec Minikube via l'API

Pour installer ce logiciel en utilisant l'API, suivez les instructions suivantes.