Comment exécuter votre propre cluster Kubernetes avec des MicroK8 - CloudSavvy IT
Agence web » Actualités du digital » Comment exécuter votre propre cluster Kubernetes avec des MicroK8 –

Comment exécuter votre propre cluster Kubernetes avec des MicroK8 –

MicroK8s est une distribution Kubernetes légère à un seul paquet développée par Canonical, mieux connue pour le système d’exploitation Ubuntu. MicroK8s suit les versions en amont de Kubernetes et se concentre sur la fourniture d’une expérience d’installation et de gestion sans effort. Voici comment commencer à exécuter votre propre cluster.

Installation

MicroK8s est disponible sur Linux, Windows et macOS. Un programme d’installation graphique de Windows est proposé sur le site Web du projet. Les utilisateurs de macOS doivent utiliser Brew tandis que les utilisateurs de Linux sont servis par des snaps.

Suivez les étapes d’installation séparées de Snap si vous manquez snapd sur votre système. Utilisez ensuite le snap install commande pour ajouter des MicroK8 :

sudo snap install microk8s --classic

Cela installe la dernière version de MicroK8s. Vous pouvez sélectionner une version spécifique en utilisant le --channel drapeau:

sudo snap install microk8s --classic --channel=1.19/stable

Cela vous donnera une version de MicroK8s basée sur Kubernetes v1.19.

L’installation peut prendre un certain temps au démarrage des services Kubernetes. En cours microk8s status --wait-ready vous permet de vérifier les progrès afin que vous sachiez quand MicroK8s est prêt à être utilisé.

Interagir avec votre cluster

MicroK8s intègre sa propre version de l’outil en ligne de commande Kubectl. Utilisation microk8s kubectl pour interagir avec votre cluster, en ajoutant un kubectl commander:

sudo microk8s kubectl get all --all-namespaces

Cette commande affiche toutes les ressources de votre cluster.

Créez ensuite un manifeste de base à déployer :

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
    - name: nginx
      image: nginx:latest
      ports:
        - name: http
          containerPort: 80
          protocol: TCP

Appliquez le manifeste à votre cluster :

sudo microk8s kubectl apply -f ./manifest.yaml

MicroK8s créera un nouveau Pod exécutant le serveur Web NGINX. Il s’affichera lorsque vous relancerez microk8s kubectl get all.

MicroK8s est compatible avec toutes les commandes Kubectl. Si vous voulez laisser tomber le microk8s préfixe, vous pouvez utiliser un « vrai » kubectl binaire à la place :

sudo microk8s kubectl config view --raw > $HOME/.kube/config

Cela exporte les informations de connexion MicroK8s dans votre fichier de configuration Kubernetes, permettant kubectl commandes pour atteindre votre cluster.

La plupart des commandes MicroK8s nécessitent un accès superutilisateur. Pour une utilisation à long terme, ajoutez votre compte utilisateur au microk8s groupe afin que vous n’ayez pas besoin d’utiliser sudo chaque fois:

sudo usermod -aG microk8s $USER

Accéder aux images Docker

Les MicroK8 ne peuvent pas accéder automatiquement à vos images Docker locales. Si vous souhaitez déployer une image que vous venez de créer, importez-la manuellement dans le registre MicroK8s en l’exportant en tant que fichier tar archiver.

docker save my-image:latest > my-image.tar
microk8s ctr image import my-image.tar

Vos pods peuvent désormais référencer l’image avec succès. Vous pouvez lister toutes les images connues dans le registre MicroK8s avec le microk8s ctr images ls commander.

Au-delà de la simple utilisation sur votre machine locale, vous devez configurer un registre d’images Docker dédié pour contenir vos images. Poussez les images là-bas et accordez un accès pull MicroK8s afin qu’il puisse les récupérer à partir de votre stockage. Les étapes à suivre dépendent de la configuration de votre registre.

Activation du tableau de bord Kubernetes

Le tableau de bord Web Kubernetes est fourni avec MicroK8 mais est désactivé par défaut. Vous pouvez l’activer en activant son module complémentaire, puis en naviguant jusqu’à l’adresse IP du service de tableau de bord.

microk8s enable dashboard

Le démarrage du service peut prendre quelques instants. Cours microk8s kubectl get services --namespace kube-system et attendre le kubernetes-dashboard service à se présenter. Notez son CLUSTER-IP et visitez son adresse dans votre navigateur. Le tableau de bord Kubernetes devrait apparaître, vous permettant d’interagir avec vos ressources à l’aide d’une interface graphique.

Utiliser plus de modules complémentaires

MicroK8s est livré avec plusieurs autres modules complémentaires facultatifs pour les cas d’utilisation courants. Le dns l’addon ajoute la prise en charge du déploiement DNS, storage fournit une classe de stockage par défaut basée sur les répertoires hôtes, et ingress propose un contrôleur d’entrée qui vous permet de créer Ingress ressources de routage.

Le registry addon est un service spécial qui déploie un registre Docker prêt à l’emploi sur localhost:32000. L’utilisation du registre fournit un espace de stockage privé vers lequel vous pouvez envoyer vos images avant de les utiliser dans vos pods Kubernetes. De même, le istio L’addon lance un maillage Istio pour fournir des fonctions de découverte de services.

Une description exhaustive de ces addons est fournie dans la documentation MicroK8s. Vous pouvez afficher tous les addons disponibles dans votre installation en exécutant microk8s enable sans aucun argument. Seule la fonctionnalité Kubernetes minimale est active par défaut, car MicroK8s se concentre sur la fourniture d’une expérience rationalisée.

Gérer votre cluster

Toutes les fonctions de gestion de cluster sont fournies par le microk8s commander. En cours microk8s status affiche une vue d’ensemble de votre cluster, y compris s’il est en cours d’exécution et la liste des modules complémentaires actifs.

Pour arrêter votre cluster, exécutez microk8s stop. Cela arrêtera tous les services, mettant tout hors ligne. Vous redémarrez le cluster avec le microk8s start commander. L’exécution de tous vos services peut prendre quelques instants.

Vous pouvez afficher les détails de votre connexion au cluster en exécutant microk8s config. Celui-ci émet un fichier YAML compatible Kubectl, prêt à être utilisé avec d’autres outils.

En cours microk8s reset réinitialisera votre cluster à son état post-installation initial. C’est une opération destructrice qui prend du temps et qui détruira toutes vos ressources. Il facilite l’expérimentation en vous permettant de tout démonter, sans retirer le composant logiciel enfichable MicroK8s. Les volumes de stockage Kubernetes seront conservés par défaut ; vous pouvez également les supprimer en ajoutant le --destroy-storage drapeau.

Clusters multi-nœuds

Bien que MicroK8s ait commencé comme un projet à nœud unique, vous pouvez désormais ajouter des nœuds secondaires à votre cluster. Des nœuds supplémentaires vous offrent une redondance, ainsi qu’une capacité de charge de travail accrue. Chaque nœud nécessite son propre environnement entièrement isolé, soit une machine physique, une machine virtuelle ou un conteneur distincts. Vous ne pouvez pas exécuter deux instances de travail MicroK8s dans le même environnement.

Première exécution microk8s add-node sur votre nœud d’origine. Celui-ci deviendra le maître de contrôle qui exécute le plan de contrôle Kubernetes.

microk8s add-node

La commande crée un enregistrement provisoire pour le nouveau nœud. Il produira un microk8s join commande qui joindra le nœud au plan de contrôle. Le processus de connexion prendra quelques secondes. Le nœud doit pouvoir joindre votre maître via l’adresse réseau affichée.

Une fois le nœud ajouté, il sera éligible pour héberger vos pods. Vous pouvez afficher tous les nœuds disponibles en exécutant microk8s kubectl get nodes.

La suppression d’un nœud du cluster est un exercice d’inversion. Première exécution microk8s leave sur le nœud cible. Puis cours microk8s remove-node 10.108.0.1 sur le maître, en remplaçant l’adresse IP du nœud supprimé. Cela informera tous les autres nœuds de la suppression. Le nœud cible reviendra à une installation MicroK8 autonome standard, devenant son propre maître.

Conclusion

MicroK8s est une distribution Kubernetes minimale qui s’auto-héberge facilement sur votre propre matériel. Il est entièrement conforme à CNFC et est livré avec des modules complémentaires intégrés pour le tableau de bord officiel Kubernetes, le routage d’entrée et le maillage de services Istio. Ceux-ci vous aident à configurer rapidement votre propre cluster prêt pour la production, capable de correspondre aux offres Kubernetes gérées des fournisseurs de cloud public.

MicroK8s prend en charge une gamme particulièrement large d’architectures matérielles et de déploiement. Il fonctionne sur les postes de travail des développeurs, dans les environnements de production hautement disponibles et sur le Raspberry Pi. Cette flexibilité vous permet d’utiliser exactement la même technologie en développement et en production, même jusqu’à l’implémentation de Kubernetes.

Par rapport à des projets concurrents tels que Minikube, MicroK8s excelle à s’exécuter dans des environnements aux ressources limitées avec des frais généraux minimes. Il bénéficie de sa propre conteneurisation, utilisant le format de package snap, il n’y a donc pas de VM lourde à exécuter. Cela vous laisse plus de capacité pour héberger vos charges de travail et autres outils de développement.

Alors que MicroK8s a commencé comme un projet centré sur les développeurs, ciblant les tests et le prototypage locaux, il est maintenant présenté comme une distribution Kubernetes prête pour la production avec un record éprouvé pour suivre de près les versions en amont. Les clusters peuvent être mis à niveau vers les nouvelles versions de Kubernetes à l’aide du snap refresh microk8s commander.

★★★★★