Académique Documents
Professionnel Documents
Culture Documents
Docker Desktop est le moyen le plus simple d'exécuter Kubernetes sur votre machine
locale - il vous offre un cluster Kubernetes entièrement certifié et gère tous les
composants pour vous.
Dans cet atelier, vous apprendrez à configurer Kubernetes sur Docker Desktop et à
exécuter une application de démonstration simple. Vous acquerrez de l'expérience en
travaillant avec Kubernetes.
2. Activer Kubernetes
Assurez-vous que Docker Desktop est en cours d'exécution - dans la barre des tâches
de Windows et la barre de menus sur Mac, vous verrez le logo baleine de
Docker. Cliquez sur la baleine et sélectionnez Paramètres :
Kubernetes utilise un outil différent appelé kubectl pour gérer les applications - Docker
Desktop installe kubectl également pour vous.
Question : Quels commandes exécutez-vous pour afficher les pods et s’assurer que le
déploiment a été créé ?
4. Exécutez une application familière
Exemple :
Hints (pour ceux qui n’ont toujours pas dockeriser le
microservice produit)
Pusher l’image :
Fichier « deployment-example.yml »
apiVersion: apps/v1
kind: Deployment
metadata:
name: full-stack-deuxieme-annee
labels:
app: web
spec:
selector:
matchLabels:
app: web
replicas: 5
strategy:
type: RollingUpdate
template:
metadata:
labels:
app: web
spec:
containers:
- name: microservice-produit
image: souaddock/product-full-stack:v1
ports:
- containerPort: 5000
Vous pouvez avoir plusieurs conteneurs dans un seul pod dans Kubernetes, et
ils partagent le même réseau et le même environnement de calcul.
6. Utilisez l'application
Notion de service :
Service
Une application est susceptible d’être déployée au sein de plusieurs Pods répartis sur
plusieurs nodes (dans l’exemple nous avons 5). Une première approche pour
communiquer avec cette application serait d’utiliser les adresses IP des Pods (5 dans
notre cas). Cependant, cette approche présente de nombreuses contraintes car il faut
constamment être capable de récupérer une ou plusieurs adresses IP. En effet, si
un Pod est supprimé puis redéployé alors son adresse IP change.
Pour pallier à cette problématique, Kubernetes dispose d’un objet
appelé Service qui permet d’associer, grâce à des LabelSelector (des labels pour
identifier des objets), à un déploiement (c’est-à-dire un ensemble commun
de Pods) une adresse IP et une URL (voir l’image ci-contre).
La question qui se pose comment peut-on être surs que notre microservice
s’exécute correctement sur les 5 Pods (ou au moins l’un des 5 😊 ).
C'est votre microservice produit que vous avez développé en Node.js qui lit les données
de votre DB MongoDB Atlas.
Questionnaire
Merci de répondre aux questions suivantes.
Question 0
question 1
question 2
• Dans un service, où tous les conteneurs partagent le même espace de noms réseau