Comment démarrer un cluster Kubernetes local avec Minikube

0
166

Minikube est une distribution minimale de Kubernetes conçue pour une utilisation en développement local. Il est développé dans le cadre du projet Kubernetes et comprend des implémentations de toutes les principales fonctionnalités du cluster.

Minikube fonctionne sur les hôtes Linux, Mac et Windows. Il peut utiliser des conteneurs ou un environnement de machine virtuelle pour exécuter votre cluster et ses charges de travail. Voici tous les runtimes pris en charge :

  • Docker
  • Podman
  • KVM
  • Hyper-V
  • Hyperkit
  • Parallèles
  • VirtualBox
  • VMware

Assurez-vous que l'une de ces technologies est installée avant de poursuivre avec ce guide. Le processus d'installation de Minikube détectera automatiquement les runtimes disponibles et appliquera une configuration appropriée. Nous allons vous montrer comment terminer votre déploiement et commencer à utiliser Minikube.

Installer Minikube

Nous nous concentrons sur les systèmes Linux x86 dans ce guide. Si vous utilisez Windows, Mac ou une plate-forme CPU différente, reportez-vous à la documentation Minikube pour obtenir les informations de configuration les plus détaillées. Après la procédure d'installation initiale, l'utilisation de base de Minikube est identique sur tous les systèmes pris en charge.

Les utilisateurs de Linux peuvent choisir entre un téléchargement binaire direct ou un package Debian/RPM. Nous utiliserons le téléchargement binaire dans cet exemple.

$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 $ sudo install minikube-linux-amd64 /usr/local/bin/minikube

Minikube va maintenant être installé et prêt à être utilisé.

Démarrer votre cluster Kubernetes

Lancez votre cluster Minikube avec la commande minikube start :< /p> $ minikube start minikube v1.25.2 sur Ubuntu 20.04 Sélection automatique du pilote docker. Autres choix : kvm2, ssh Démarrage du nœud du plan de contrôle minikube dans le cluster minikube Extraction de l'image de base … Téléchargement du préchargement de Kubernetes v1.23.3 …

Minikube téléchargera et démarrera automatiquement la dernière version de Kubernetes. Ce processus peut prendre plusieurs minutes. La sortie de la commande indiquera la progression et montrera les actions prises par Minikube. Dans l'exemple ci-dessus, vous pouvez voir que le pilote Docker a été sélectionné pour héberger votre cluster. Consultez la documentation du pilote de Minikube si votre plate-forme de conteneurs ou votre pile de virtualisation n'est pas détectée automatiquement.

Utilisation de votre cluster avec Kubectl

Minikube modifie votre environnement afin que vous puissiez vous connecter à votre cluster à l'aide d'une installation Kubectl existante. Cela ajoutera un contexte minikube à votre fichier KUBECONFIG qui cible votre cluster Minikube.

Minikube inclut également une version groupée de Kubectl à laquelle vous pouvez accéder avec la commande minikube kubectl. Ceci est utile si vous n'avez pas déjà installé Kubectl ou si votre binaire existant est une version différente de votre cluster Minikube.

# Utilise la version de Kubectl fournie avec Minikube $ minikube kubectl get pods

Pour le reste de ce guide, nous allons montrer la commande kubectl simple et supposer qu'elle cible votre cluster Minikube. Vous pouvez configurer un alias de shell pour utiliser Kubectl fourni avec Minikube sans le préfixer avec minikube à chaque fois :

$ alias kubectl=”minikube kubectl”

Avec Minikube live et Kubectl disponibles, vous pouvez maintenant ajouter applications à votre cluster Kubernetes :

$ kubectl create deployment nginx –image=nginx:latest deployment.apps/nginx créé $ kubectl expose deployment nginx –type=LoadBalancer –port=80 service/nginx exposés

La commande de service minikube fournit l'URL exposée d'un service :

$ minikube service nginx –url http://192.168.49.2:31599

Collez l'URL dans votre navigateur Web (ou exécutez la commande sans l'indicateur –url) pour afficher votre service.< /p>

Accéder au tableau de bord Kubernetes

Minikube fournit le tableau de bord Kubernetes en tant que fonctionnalité intégrée facultative. Exécutez la commande minikube dashboard pour télécharger les composants du tableau de bord et lancer l'interface dans un nouvel onglet du navigateur.

< p>Vous pouvez utiliser le tableau de bord pour gérer vos ressources et visualiser leur activité. Laissez la commande de tableau de bord minikube s'exécuter dans votre terminal pendant que vous interagissez avec le tableau de bord. Terminez la commande avec la séquence de touches Ctrl+C lorsque vous avez terminé.

Activation du registre d'images

Minikube inclut un registre d'images en tant qu'addon facultatif. Cela vous permet de stocker vos images de conteneurs à l'intérieur de Minikube, les rendant disponibles pour un déploiement à l'intérieur de votre cluster.

Activez d'abord l'addon de registre :

$ minikube addons enable register fait référence au registre Minikube. Le registre écoute sur le port 5000 sur l'adresse IP fournie par la commande minikube ip.

$ docker tag my-image:latest $(minikube ip):5000/my-image:latest

Avant de pouvoir pousser, Docker doit être configuré pour accepter l'URL en tant que registre non sécurisé. Ajoutez-le au champ insecure-registries dans votre fichier /etc/docker/daemon.json afin que Docker autorise l'accès HTTP.

{ "insecure-registries" : ["192.168.49.2:5000"] }

Remplacez l'adresse IP par celle indiquée par votre commande minikube ip. Redémarrez Docker avec la commande systemctl restart docker.

Vous pouvez maintenant envoyer votre image dans votre registre Minikube :

$ docker push $(minikube ip):5000/my-image:latest

Une dernière étape est requise avant que les pods de votre cluster puissent utiliser cette image. L'environnement d'exécution du conteneur de Minikube doit également être configuré pour autoriser un accès non sécurisé au registre. Vous pouvez l'activer en incluant l'indicateur –insecure-registry lorsque vous exécutez minikube start. L'adresse IP doit faire référence à l'adresse IP par défaut du cluster de votre installation Minikube. Vous pouvez l'obtenir en exécutant kubectl get services et en consultant le CLUSTER-IP pour le service kubernetes. Ensuite, arrêtez Minikube et redémarrez-le avec le drapeau supplémentaire.

$ kubectl get service NOM TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 63m $ minikube stop $ minikube start –insecure-registry 10.96.0.1/24

Modification de la version de Kubernetes

Minikube utilise par défaut la dernière version disponible de Kubernetes. Pour passer à une version spécifique, incluez l'indicateur –kubernetes-version lorsque vous démarrez votre cluster :

$ minikube start –kubernetes-version=v1.23.0

Vous pouvez exécuter plusieurs clusters en même temps, chacun avec des versions Kubernetes différentes, en créant plusieurs profils distincts. L'indicateur –profile sélectionne le profil à cibler pour une commande particulière.

$ minikube start –profile v1.22 –kubernetes-version=v1.22.0 $ minikube start –profile v1.23 –kubernetes-version=v1.23.0 $ minikube –profile v1.22 kubectl get pods

Utilisation de plusieurs nœuds

Minikube prend en charge plusieurs nœuds virtuels. Cela vous permet de tester la façon dont votre application évolue sur les nœuds disponibles sans déployer de nouveau matériel physique.

Cet exemple crée un cluster avec trois nœuds :

$ minikube start –nodes 3

Vous pouvez vérifier que plusieurs nœuds sont disponibles en les listant avec Kubectl :

$ kubectl get nodes NOM STATUT RÔLES ÂGE VERSION minikube Ready control-plane,master 71m v1.23.3 minikube-m02 Ready <none> 71m v1.23.3 minikube-m03 Prêt <aucun> 71m v1.23.3

Activation de l'accès à distance

Minikube n'accepte pas le trafic entrant par défaut. Il est conçu pour une utilisation locale et n'est pas renforcé pour répondre aux demandes externes. Vous pouvez toujours activer l'accès à distance aux charges de travail de votre cluster en modifiant l'adresse d'écoute du plan de contrôle. Ne le faites qu'après avoir pleinement évalué les risques – votre réseau sera exposé au monde extérieur.

$ minikube start –listen-address=0.0.0.0

La redirection de port est une solution plus sûre lorsque vous devez ouvrir l'accès à un service spécifique. Utilisez la commande port-forward de Kubectl pour créer une route depuis un port hôte vers l'un de vos services :

$ kubectl port-forward service/nginx 8080:80

Vous pouvez maintenant visiter localhost:8080 pour accéder au service NGINX créé précédemment dans ce guide. Le port 8080 de votre hôte est lié au port 80 du service.

Suppression de Minikube

L'un des avantages de Minikube est sa facilité de retrait. Si vous décidez que Minikube n'est pas pour vous, exécutez la commande delete pour supprimer tout ce qu'il a ajouté à votre système :

$ minikube delete

Une option moins destructrice est minikube stop qui arrêtera votre cluster mais laissera tout ressources intactes. Vous pouvez redémarrer votre cluster à l'aide de la commande minikube start.

Conclusion

Minikube est une distribution Kubernetes autonome qui utilise des conteneurs ou la virtualisation pour exécuter un cluster sur votre machine locale. Il est pris en charge par le projet Kubernetes en amont. Minikube est une implémentation complète de Kubernetes qui regroupe le tableau de bord Kubernetes, la prise en charge de la mise en réseau, le stockage persistant et les runtimes de conteneurs interchangeables.

Vous pouvez en savoir plus sur Minikube dans la documentation officielle. Vous pouvez également commencer à utiliser les commandes Kubectl familières pour gérer votre cluster et déployer de nouvelles charges de travail. Vous disposez maintenant d'un environnement Kubernetes local entièrement fonctionnel pour créer et tester vos applications.

LIRE LA SUITE

  • › Test du Razer Kaira Pro pour PlayStation : audio robuste, micro de qualité inférieure
  • &rsaquo ; 7 conseils pour empêcher votre technologie de surchauffer
  • &rsaquo ; 10 fonctionnalités cachées de Windows 10 que vous devriez utiliser
  • › Combien d'énergie le mode d'économie d'énergie sur les téléviseurs permet-il d'économiser réellement ?
  • › Pourquoi s'appelle-t-il Roku ?
  • › “Apportez votre propre conducteur vulnérable” Les attaques cassent Windows