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 pour les développeurs qui ont besoin d'un environnement Kubernetes local pour les tests et le développement d'applications.

Attention

Il s'agit uniquement d'un utilitaire pour gérer 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 machine virtuelle requis sur le serveur !

Minikube. Fonctionnalités clés

  • Lancement rapide d'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 s'exécuter dans VirtualBox, Hyper-V, VMware et nativement sur Linux, macOS et Windows. Cela vous offre une flexibilité dans la manière dont vous le déployez.
  • Configuration automatique de kubectl - une fois le cluster démarré, minikube configure automatiquement kubectl pour s'y connecter. Il n'est pas nécessaire de configurer manuellement le client Kubernetes.
  • Tableau de bord et applications intégrés - le tableau de bord, heapster, le contrôleur d'entrée (ingress controller) et d'autres outils utiles sont ajoutés au cluster dès l'installation. Cela accélère la prise en main.
  • Commandes de gestion pratiques - les commandes minikube start, stop, delete et autres 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 modules complémentaires (add-ons) - des fonctionnalités supplémentaires telles que la surveillance, la journalisation, la visualisation, etc. peuvent être activées via des modules complémentaires.
  • 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 (GB) Min HDD/SSD (GB) Domaine personnalisé Actif
44 Minikube Ubuntu 22.04 + + + - 2 2 - Non COMMANDER

Remarque

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

Prise en main après le déploiement de Minikube

Une notification sera envoyée à l'adresse e-mail spécifiée lors de l'inscription indiquant que le serveur est prêt pour le travail après le paiement de la commande. Elle contiendra l'adresse IP du VPS, ainsi que le nom d'utilisateur et le mot de passe pour la connexion.

Les clients de notre entreprise gèrent le matériel dans les serveurs et le panneau de contrôle API — Invapi.

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

  • Password : Envoyé à votre adresse e-mail après que le serveur est 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>

Puis exécutez la commande start, qui créera automatiquement un cluster Kubernetes local à l'aide de plusieurs conteneurs Docker et de 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é.

Remarque

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

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

kubectl get pods -A

Le paramètre -A retourne 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 en utilisant les outils Kubernetes standards tels que kubectl.

Vous pouvez utiliser la commande pour accéder au Dashboard :

minikube dashboard
Une fois exécutée, un lien sera affiché, par exemple http://127.0.0.1:42049/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/. Il doit être modifié - entrez l'adresse IP du serveur, puis passez à la visualisation du tableau de bord.

Création de service

Par défaut, le pod n'est accessible que depuis une adresse IP interne au sein du cluster Kubernetes. Pour rendre le conteneur hello-node accessible en dehors 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

L'indicateur --type=LoadBalancer indique que le service doit être visible en dehors du cluster.

Le code de l'application dans l'image de test écoute uniquement sur le port TCP 8080. Si vous définissez l'application pour qu'elle soit 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 sortie ressemblerait à 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 équilibreurs de charge, 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.

Remarque

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

Commande d'un serveur avec Minikube via l'API