Examen
Semestre : 1 2
Session : Principale Rattrapage
ETUDIANT(e)
Nom et Prénom : …………………………………………………... Code :
Classe: …………………………………………………....................
Module : PaaS Environment
Enseignant(s) :Soumaya Mbarek, Hamdi Gabsi
Classe(s): 4 ArcTIC 1-5
Documents autorisés : OUI NON Nombre de pages : 6
Calculatrice autorisée : OUI NON Internet autorisée : OUI NON
Date : 21/06/2022 Heure 8h30 Durée : 01h30
**
Note Nom et Signature du Nom et Signature du Observations
Code Surveillant Correcteur
/20
NB : Les parties réservées aux informations relatives à l’étudiant et à l’administration seront ajoutées au
cas où les réponses seront écrites sur les feuilles d’examen.
La précision, la consistance, la clarté seront appréciées
Partie 1 : Questions de réflexion (8 points)
Exercice 1: (5 points)
Fill in the blacks:
Pour déployer un cluster Kubernetes, il est nécessaire de mettre en place 2 types de nœuds :
- Le (1)……………………………………. qui est un ensemble de trois processus qui
s'exécutent sur un seul nœud de votre cluster. Ces processus sont:
- Le (2)………………………. qui expose l'API Kubernetes. Il s'agit du front-end pour le
plan de contrôle Kubernetes.
- Le (3)………………………………. responsable de détecter et apporter une réponse
lorsqu'un nœud tombe en panne et de maintenir « desired stat » dans le système
- et (4)…………………………… qui détermine le nœud le plus adéquat pour les Pods qui
ont le status « pending ».
Chaque nœud non maître de votre cluster exécute deux processus :
- (5)…………………………, qui communique avec le Kubernetes master(
- 6)………………………, un composant reflétant les services réseau Kubernetes sur
chaque nœud.
1/6
Ne rien écrire ici
Les objets kubernetes sont déployés sur ces nœuds. Ces objets sont utilisés pour décrire la
manière avec laquelle des applications conteneurisées sont exécutées, les ressources mis à
disposition de ces applications ainsi que les « policies » de mise à jours ou de fault tolerence.
Par exemple, pour assurer la réplication de l’application, un objet de type
(7)……………………………. doit être utiliser. Aussi, pour la gestion du cycle de vie de
l’application ainsi que les mise à jour et les roll-back un objet (8)…………………………. doit
être utiliser. Enfin, pour la gestion de l’accès à ces application, il faut utiliser un objet de type
(9)…………………………… , (10) …………………………. est utiliser par défaut pour assurer
l’accessibilité en interne.
Exercice 2: (3 points)
On se propose de mettre à jour une application qui a été déployée sur un cluster kubernetes en
utilisant le fichier YML ci-dessous :
apiVersion: apps/v1
kind: Deployment
metadata:
name: MyApp-deployment
spec:
replicas: 4
selector:
matchLabels:
app: MyApp
template:
metadata:
labels:
app: MyApp
spec:
2/6
Ne rien écrire ici
containers:
- name: Front
image: [Link]/google_samples/gb-frontend:V2
ports:
- containerPort: 80
1) Nommer et expliquer le fonctionnement de la stratégie de mise à jour qui sera utilisée.
(1 point)
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
2) Proposer une stratégie de mise à jour qui permet de garantir la mise à jour sans causer
de temps d’indisponibilité (1 point)
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
3) Donner la commande à utiliser pour revenir à la version précédente de l’objet déployé
(1 point)
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
3/6
Ne rien écrire ici
Partie 2 : Étude de cas (12 points)
On souhaite automatiser le déploiement, la gestion et la mise à l'échelle d’une
application micro-services de E-commerce. Pour ce faire, nous commençons par mettre en
place un cluster « Kubernetes» assurant l’orchestration de cette application sur différentes
machines (nœuds).
1) Préciser l’outil d’installation adéquat assurant la mise en place d’un cluster
«Kuberntes » multi-nœuds. (1 point)
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
2) Illustrer l’architecture de ce cluster à savoir les types des nœuds, le rôle de chaque
nœud, et ses composants. (2.5 points)
3) Le micro-services d’authentification a une importance majeure, Nous souhaitons,
automatiser la gestion de sa réplication et ses mises à jour. (2.5 points)
a. Préciser le type de l’objet kuberntes adéquat à utiliser.
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
4/6
Ne rien écrire ici
b. Compléter le fichier Authentification. yml en utilisant le fichier yml suivant :
apiVersion: v1
kind: Pod
metadata: apiVersion: ……………
name: authentication-pod kind: ……………
labels: metadata:
name: authentication name: authentication -dep
spec: labels:
containers: app: authentication
- name: authentication template:
image: dockersamples/ ………………………………………..
authentication ………………………………………..
ports: ………………………………………..
- containerPort: 80 ………………………………………..
………………………………………..
………………………………………..
………………………………………..
………………………………………..
………………………………………..
………………………………………..
………………………………………..
spec:
replicas: ……………
selector:
matchLabels:
name: ……………
5/6
Ne rien écrire ici
4) Lors de la création de l’objet [Link], on a constaté que les pods restent
bloqués dans l’état « creating ». Expliquer la raison de cette erreur. (1 Point)
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
5) Le micro-service d’authentification peut être utilisé par des nœuds externe de notre
cluster à travers une adresse IP stable. Préciser le type de l’objet kuberntes à créer
permettant d’exposer ce micro-service. (1 Point)
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
6) On préfère que l’objet [Link] soit déployé sur le nœud le plus performant
chartérisée par le label « Size= Large ».
Proposer la / les technique(s) de scheduling appropriée(s) en expliquant le type
de règle utilisé. (2 points)
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
............................................................................................................................................
7) Proposer l’objet kuberntes adéquat permettant de récupérer d’une façon continue les
logs des nœuds de notre cluster. Décrire les caractéristiques de cet objet. (2 points)
.........................................................................................................................................................
.........................................................................................................................................................
.......................................................................................................................................................
6/6