Académique Documents
Professionnel Documents
Culture Documents
Réalisé par :
Nour Kalai
Heni Loukil
Hamdi Guedhami
Année universitaire:2023/2024
Filière : RT5
Introduction
Kubernetes est un système open-source de gestion d'orchestration de conteneurs. Il
fournit une plateforme pour automatiser le déploiement, la mise à l'échelle et la
gestion des applications conteneurisées. Les conteneurs permettent d'encapsuler
une application et ses dépendances dans un environnement isolé, facilitant ainsi le
déploiement cohérent et la gestion des applications à travers différentes
infrastructures.
Une fois l'image créée, publiez-la sur un registre Docker public ou privé pour que
Kubernetes puisse y accéder.
Kubernetes peut ensuite tirer cette image à partir du registre lorsqu’on déploie
l’application.
Installer Minikube
Minikube offre une solution pratique et simple pour les développeurs qui souhaitent
expérimenter, développer et tester des applications sur Kubernetes sans avoir besoin
d'un cluster distribué complet. Il est particulièrement adapté à un usage en
environnement de développement local.
Créer un fichier de configuration :
Le fichier YAML est un manifeste de déploiement Kubernetes
(node-app-deployment.yaml) qui décrit comment déployer et gérer un ensemble de
pods pour notre application nommée "node-app". Voici une description des éléments
clés du fichier node-app-deployment.yaml :
apiVersion : Spécifie la version de l'API Kubernetes à utiliser, dans ce cas, apps/v1
pour les déploiements.
- metadata : Contient des libellés pour les pods, et dans ce cas, il applique
l'étiquette app: node-app aux pods.
En résumé, cette configuration de déploiement crée et gère une réplique d'un pod,
exécutant un conteneur avec l'image Docker spécifiée (nour941/myimage) qui
écoute sur le port 8081. Le déploiement garantit que le nombre souhaité de pods est
maintenu (1 seul) et peut gérer la mise à l'échelle et les mises à jour progressives.
Le contenu du fichier:
Le fichier yaml fournit décrit un service Kubernetes (node-app-service) qui expose les
pods de votre application "node-app" vers l'extérieur du cluster. Voici une explication
des éléments clés du fichier :
- apiVersion: Spécifie la version de l'API Kubernetes, ici, c'est v1, qui est la
version de base pour les ressources Kubernetes.
- port: Spécifie le port sur lequel le service écoute pour le trafic entrant (port
externe).
- targetPort: Indique le port sur lequel les pods cibles écoutent (port interne).
Dans ce cas, le trafic entrant sur le port 5000 du service sera redirigé vers le
port 8081 des pods portant l'étiquette app: node-app.
Remarque:
Ici, EXTERNAL-IP est toujours en attente pour le service. Mais en utilisant
Minikube, On peut obtenir un External-IP.
On exécute la commande ci-dessous pour activer l’External-IP pour notre
application: minikube service <service_name>