Comment configurer une instance locale de Kubernetes avec MicroK8s sur Ubuntu

DevOps a considérablement changé la façon dont les ingénieurs et développeurs logiciels développent et déploient des applications. L’une des technologies au cœur de cette révolution est Kubernetes.

Explorons comment vous pouvez installer une instance locale de Kubernetes sur Ubuntu en utilisant MicroK8s (MicroKates). Avec cette configuration en place, vous pouvez facilement héberger des applications de conteneur de manière sécurisée, fiable et hautement évolutive.

UTILISEZ LA VIDÉO DU JOUR

Pourquoi utiliser les MicroK8 ?

Kubernetes est une plate-forme open source qui permet de rationaliser les opérations DevOps en automatisant le déploiement, la mise à l’échelle et la gestion des applications conteneurisées. Kubernetes est également connu sous le nom de K8, le nom dérivé du comptage des huit lettres entre k et s au nom de Kubernetes. Considérez MicroK8s comme une instance Micro Kubernetes.

La plupart des environnements cloud publics et privés de production qui exécutent Ubuntu utilisent Charmed Kubernetes pour gérer les applications conteneurisées. Le défi avec Charmed Kubernetes, cependant, est qu’il est gourmand en ressources et nécessite un bon niveau de connaissances pour être configuré correctement.


C’est là que MicroK8s entre en jeu. MicroK8s est un Kubernetes en amont petit et léger qui peut s’exécuter sur le PC d’un développeur, un appareil IoT ou sur des appareils périphériques de manière native sans avoir besoin d’une machine virtuelle. MicroK8s est multiplateforme et peut fonctionner sur les architectures Intel et ARM.

MicroK8s vous offre l’un des meilleurs moyens de vous familiariser avec Kubernetes, avec un minimum de friction. Il s’agit d’un amont Kubernetes certifié par la Cloud Native Computing Foundation (CNCF), qui garantit que les implémentations de Kubernetes sont conformes et interopérables selon les normes industrielles spécifiées.

Étape 1 : Installer MicroK8s sur Ubuntu

Vous pouvez facilement installer MicroK8s sur Ubuntu en utilisant la commande snap.

sudo snap install microk8s --classic

Alternativement, vous pouvez installer MicroK8s à partir de l’interface graphique à l’aide du centre logiciel Ubuntu. Recherchez simplement microk8s puis cliquez sur le installer bouton.

Étape 2 : Configuration de votre pare-feu pour MicroK8s

Pour assurer une communication transparente entre les pods et avec Internet, vous devez activer les communications entrantes et sortantes sur l’interface réseau de conteneurs de votre pare-feu.

Un pod est la plus petite unité informatique déployable de Kubernetes ; il peut s’agir d’un seul conteneur ou d’un groupe de conteneurs avec des ressources de stockage et de réseau partagées, etc.

sudo ufw allow in on cni0 && sudo ufw allow out on cni0

Ensuite, exécutez la commande suivante :

sudo ufw default allow routed

En savoir plusComment configurer le pare-feu Ubuntu avec UFW

Étape 3 : Ajouter votre utilisateur au groupe MicroK8s

Pour le moment, vous devrez utiliser le sudo commande pour exécuter la plupart des commandes MicroK8s. Bien qu’il s’agisse d’une bonne mesure de sécurité sur un serveur de production, cela peut ne pas être nécessaire sur une machine de développement.

Ajoutez votre utilisateur au groupe MicroK8s pour éviter d’utiliser sudo.

sudo usermod -aG microk8s $USER

Faites également de votre utilisateur actuel le propriétaire du ~/.cube annuaire.

sudo chown -f -R $USER ~/.kube

Pour que les modifications prennent effet, rechargez les groupes d’utilisateurs en exécutant la commande suivante :

newgrp microk8s

En savoir plus : Comment gérer les groupes d’utilisateurs sous Linux

Étape 4 : Activer les modules complémentaires importants

Par défaut, MicroK8s contient le strict minimum pour obtenir une empreinte minimale sur les périphériques Edge et IoT. Cependant, vous pouvez installer quelques addons importants pour gérer les services MicroK8s. Activez les modules complémentaires DNS, de tableau de bord et de stockage avec le microk8s commande.

microk8s enable dns dashboard storage

Le module complémentaire DNS peut être requis par d’autres services, il est donc recommandé de toujours l’activer.

Le module complémentaire de tableau de bord vous donne un aperçu graphique des services dans MicroK8s ; vous pouvez également l’utiliser pour gérer les services.

Vous pouvez afficher une liste des modules complémentaires MicroK8 disponibles en exécutant la commande :

microk8s status

Étape 5 : Affichage du tableau de bord MicroK8s

Maintenant que vous avez activé le module complémentaire de tableau de bord, vous pouvez facilement accéder au tableau de bord MicroK8s à partir de votre navigateur Web.

Tout d’abord, vous avez besoin de l’adresse IP du module de tableau de bord. Vous pouvez l’obtenir en exécutant la commande :

microk8s kubectl get all --all-namespaces

À partir de la sortie de la commande ci-dessus, vous remarquerez que le tableau de bord kubernetes Le service s’exécute sur l’adresse IP 10.152.183.35 et écoute sur le port TCP 443. Notez que cette adresse IP peut être différente de celle utilisée par votre service de tableau de bord car elle est générée de manière aléatoire.

Dans votre navigateur, accédez à l’adresse IP indiquée. Dans ce cas, ce sera https://10.152.183.35:443† Assurez-vous de pointer vers la bonne URL.

Pour des raisons de sécurité, le tableau de bord Kubernetes vous demandera des informations d’authentification pour vous connecter. Vous pouvez accéder au jeton de tableau de bord par défaut en exécutant la commande suivante. Copiez ensuite le kubernetes.io/service-account-token présenté et collez-le dans l’entrée du jeton.

token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1)
microk8s kubectl -n kube-system describe secret $token

Le tableau de bord vous présente un aperçu des charges de travail, des services, de la configuration, des clusters, etc. de MicroK8.

Étape 6 : Création d’un service avec MicroK8s

Pour voir MicroK8s en action, créons un déploiement de service de microbot qui contient deux pods. Créez le module à l’aide de cubectl commande:

microk8s kubectl create deployment microbot --image=dontrebootme/microbot:v1

Mettez à l’échelle le pod microbot à l’aide de la commande ci-dessous.

microk8s kubectl scale deployment microbot --replicas=2

Créez un service afin d’exposer le déploiement du microbot.

microk8s kubectl expose deployment microbot --type=NodePort --port=80 --name=microbot-service

Nous avons maintenant déployé deux pods microbot sous le nom service/service microbot† Vous pouvez afficher les détails du service microbot et d’autres services en exécutant la commande suivante :

microk8s kubectl get all --all-namespaces

Vous remarquerez que le service microbot s’exécute sur un NodePort, vous pouvez donc y accéder via le navigateur de votre PC. Dans ce cas, le service s’exécute sur le port 30353 généré de manière aléatoire.

Dans votre navigateur, accédez à l’URL http://localhost:30353, 30353 est le numéro de port indiqué dans la sortie ci-dessus. Assurez-vous que vous utilisez le bon numéro de port.

Kubernetes contre. Docker : lequel choisir ?

Ce guide a examiné comment installer une empreinte minimale de Kubernetes localement sur votre PC ou périphérique périphérique. Kubernetes fait partie du flux de travail de nombreux développeurs et est largement utilisé pour déployer des applications conteneurisées à grande échelle en production.

Kubernetes est utilisé pour gérer ou orchestrer facilement un groupe de conteneurs, par exemple des conteneurs Docker. Standalone Docker, en revanche, est principalement utilisé pour gérer des conteneurs uniques. Le choix d’utiliser Docker ou Kubernetes dépendra des compétences de votre équipe et de la taille du logiciel à déployer en production.