Kubernetes


Kubernetes ou K8s est une plateforme open-source utilisée pour automatiser le déploiement et la gestion des applications conteneurisées. Une application conteneurisée est une application qui fonctionne à l’intérieur d’un conteneur, un environnement léger et isolé contenant tout ce dont l’application a besoin pour être exécuter (le code, les bibliothèques, les dépendances, els configurations et autres). Les conteneurs garantissent que que l’application tourne de la même manière, que ce soit sur un PC, un serveur ou dans le cloud. Kubernetees aide donc à orchestrer le tout: il déploie ces conteneurs, en ajoute on en retire selon la demande, les met à jour, et s’assure qu’ils restent opérationnels.
Pré-requis
Minikube: pour créer un cluster local de test
kubectl: pour interagir avec Kubernetes
Étape 1: Installer et démarrer Minikube
Minikube permet de créer un cluster Kubernetes local. Allez sur le site minikube start | minikube pour télécharger et installer minikube. À noter que Minikube ne doit pas être utilisé en prod car il est principalement concu pour des environnements de tests sur une machine. Il faudrait envisager Amazon EKS ou Google Kubernetes Engine en prod.
Exécutez ensuite la commande suivante pour lancer le cluster.
minikube start
Le cluster minikube a démarré correctement mais il est indiqué que kubectl est introuvable. Cela signifie que kubectl n’est pas bien installé sur le système windows. On peut l’installer avec la commande suivante:
minikube kubectl -- get pods -A
La commande a été exécutée et affiche la liste des pods en cours d’exécution. Un pod est l’unité de base de déploiement dans Kubernetes. Il représente un ou plusieurs conteneurs qui partagent le même réseau et le même espace de stockage. Chaque pod a sa propre adresse IP, ce qui permet aux conteneurs à l'intérieur de communiquer entre eux.
Le cluster Kubernetes est maintenant fonctionnel et tous les composants ( etcd, kube-apiserver, kube-controller-manager, kube-scheduler, etc) sont en status Running.
Étape 2 : Déployer une application de test conteneurisée
On va déployer ici une application conteneurisée assez simple, un serveur web NGINX.
Crééz le déploiement
minikube kubectl -- create deployment hello-nginx --image=nginx
Cette commande crée un pod(un conteneur) avec l’image NGINX, qui contient tout ce qu’il faut pour exécuter le serveur web.
Exposez l’application
minikube kubectl -- expose deployment hello-nginx --type=NodePort --port=80
Cette commande expose le déploiement kubernetes et crée un service de type NodePort pour accéder à l’application depuis le navigateur
Accédez à l’application
minikube service hello-nginx
Cette commande permet à Minikube d’ouvrir une URL dans le navigateur pour voir la page NGINX.
Le cluster fonctionne donc bien. La prochaine étape serait de déployer une réelle application.
Subscribe to my newsletter
Read articles from FIKARA BILAL directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
FIKARA BILAL
FIKARA BILAL
As a newcomer to the cybersecurity industry, I'm on an exciting journey of continuous learning and exploration. Join me as I navigate, sharing insights and lessons learned along the way