DevOps Flashcards

(94 cards)

1
Q

Qu’est-ce que Docker ?

A

Plateforme permettant de créer-déployer-exécuter des applications dans des conteneurs isolés

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Différence entre conteneur et machine virtuelle

A

Conteneur : léger, partage le noyau OS, démarre vite
VM : lourd, OS complet, plus lent

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qu’est-ce qu’une image Docker ?

A

Fichier immuable contenant l’application et ses dépendances pour créer des conteneurs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qu’est-ce qu’un conteneur Docker ?

A

Instance en cours d’exécution d’une image Docker

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Différence entre Dockerfile et image

A

Dockerfile : script pour créer image
Image : résultat construit prêt à exécuter

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Qu’est-ce que Docker Compose ?

A

Outil pour définir et lancer des applications multi-conteneurs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Qu’est-ce qu’un volume Docker ?

A

Stockage persistant attaché à un conteneur

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Différence entre bind mount et volume

A

Bind mount : chemin précis du host
Volume : stockage géré par Docker

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Qu’est-ce qu’un réseau Docker ?

A

Isolation réseau pour communication entre conteneurs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Différence entre bridge network et host network

A

Bridge : isolation conteneurs
Host : utilise réseau de l’hôte

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Qu’est-ce que Kubernetes ?

A

Orchestrateur de conteneurs pour déployer - gérer - scaler des applications conteneurisées

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Qu’est-ce qu’un Pod ?

A

Plus petite unité déployable dans Kubernetes - contient un ou plusieurs conteneurs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Différence entre Deployment et StatefulSet

A

Deployment : pods stateless
StatefulSet : pods avec état persistant

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Qu’est-ce qu’un Service Kubernetes ?

A

Permet la découverte et l’accès aux pods via IP stable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Différence entre ClusterIP - NodePort - LoadBalancer

A

ClusterIP : interne
NodePort : exposé port node
LoadBalancer : cloud externe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Qu’est-ce qu’un Namespace Kubernetes ?

A

Isolation logique des ressources dans un cluster

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Qu’est-ce que ConfigMap ?

A

Stockage configuration clé-valeur pour pods

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Qu’est-ce que Secret ?

A

Stockage sécurisé des informations sensibles (mots de passe, tokens)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Qu’est-ce que un Ingress ?

A

Règles pour exposer services HTTP/HTTPS en externe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Qu’est-ce que Helm ?

A

Gestionnaire de packages Kubernetes - facilite déploiement et versionning

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Différence entre Helm Chart et Release

A

Chart : package d’app
Release : instance déployée dans cluster

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Qu’est-ce que Jenkins ?

A

Outil d’intégration continue et livraison continue (CI/CD)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Différence entre Jenkins Freestyle et Pipeline

A

Freestyle : job simple
Pipeline : script complexe avec étapes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Qu’est-ce qu’un Jenkinsfile ?

A

Script définissant pipeline CI/CD versionnable dans repo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Qu’est-ce que GitLab CI/CD ?
Outil d’intégration et déploiement continu intégré à GitLab
26
Différence entre .gitlab-ci.yml et Jenkinsfile
gitlab-ci.yml : configuration CI/CD GitLab Jenkinsfile : pipeline Jenkins
27
Qu’est-ce que un Runner GitLab ?
Exécuteur des jobs GitLab CI/CD
28
Différence entre Shared Runner et Specific Runner
Shared : disponible pour tous projets Specific : dédié à un projet
29
Qu’est-ce que Terraform ?
Outil d’infrastructure as code pour provisionner des ressources cloud
30
Différence entre Terraform et Ansible
Terraform : provisioning infrastructure Ansible : configuration et déploiement logiciels
31
Qu’est-ce que le fichier main.tf ?
Fichier principal définissant ressources à créer avec Terraform
32
Qu’est-ce que terraform init ?
Initialise un projet Terraform, télécharge providers
33
Qu’est-ce que terraform plan ?
Simule actions Terraform, montre ce qui va changer
34
Qu’est-ce que terraform apply ?
Applique changements définis dans Terraform
35
Qu’est-ce que terraform destroy ?
Supprime toutes ressources gérées par Terraform
36
Différence entre provider et resource
Provider : cloud ou service Resource : élément à créer (VM - bucket - réseau)
37
Qu’est-ce que Terraform State ?
Fichier suivant état réel des ressources provisionnées
38
Différence entre local state et remote state
Local : fichier sur disque Remote : stockage partagé pour collaboration
39
Qu’est-ce que Docker Swarm ?
Orchestrateur Docker natif pour déployer et scaler conteneurs
40
Différence entre Swarm et Kubernetes
Swarm : simple et intégré Docker Kubernetes : plus complexe, complet, multi-cloud
41
Qu’est-ce que une image Docker optimisée ?
Image légère, minimale pour réduire taille et vulnérabilités
42
Différence entre scratch et alpine
Scratch : image vide minimale Alpine : image minimale Linux avec package de base
43
Qu’est-ce que kubectl ?
CLI pour interagir avec cluster Kubernetes
44
Commande pour lister pods dans un namespace
kubectl get pods -n
45
Commande pour créer un pod depuis fichier yaml
kubectl apply -f pod.yaml
46
Commande pour supprimer un pod
kubectl delete pod
47
Qu’est-ce qu’un ReplicaSet ?
Assure nombre souhaité de pods identiques en fonctionnement
48
Qu’est-ce qu’un DaemonSet ?
Assure qu’un pod est déployé sur tous les nœuds du cluster
49
Qu’est-ce que l’auto-scaling Kubernetes ?
Augmente ou diminue nombre de pods selon utilisation CPU ou métriques
50
Différence entre HPA et VPA
HPA : horizontal pod autoscaler VPA : vertical pod autoscaler
51
Qu’est-ce qu’un job Kubernetes ?
Exécute tâche ponctuelle jusqu’à complétion
52
Qu’est-ce qu’un CronJob Kubernetes ?
Exécute tâches planifiées périodiquement
53
Différence entre rolling update et blue-green deployment
Rolling update : mise à jour progressive Blue-green : deux environnements - switch rapide
54
Qu’est-ce que GitOps ?
Gestion infrastructure et déploiement via repo Git
55
Différence entre IaC et GitOps
IaC : code infrastructure GitOps : IaC + CI/CD + Git comme source de vérité
56
Qu’est-ce que Jenkins Pipeline Declarative ?
Syntaxe simple et structurée pour pipeline Jenkins
57
Différence entre stage et step dans Jenkins
Stage : étape logique du pipeline Step : action concrète
58
Qu’est-ce que Docker Hub ?
Registry publique pour stocker et partager images Docker
59
Différence entre Docker Hub et Docker Registry
Docker Hub : public Registry : privé ou public auto-hébergé
60
Qu’est-ce qu’une network policy Kubernetes ?
Règles réseau pour contrôler communication pods
61
Différence entre initContainer et container normal
InitContainer : exécution avant container principal container normal : principal
62
Qu’est-ce que Terraform Module ?
Bloc réutilisable de code Terraform pour abstraction et réutilisation
63
Différence entre module local et module distant
Local : défini dans projet Distant : provenant registry Terraform ou Git
64
Qu’est-ce que Docker Secrets ?
Stockage sécurisé des secrets pour conteneurs
65
Différence entre Docker secrets et Kubernetes Secrets
Docker : swarm secrets Kubernetes : secrets cluster
66
Différence entre rolling update et recreate strategy
Rolling update : mise à jour progressive Recreate : arrêt puis redéploiement pods
67
Qu’est-ce que PersistentVolume ?
Ressource de stockage persistante dans Kubernetes
68
Différence entre PV et PVC
PV : ressource de stockage PVC : demande de stockage par pod
69
Qu’est-ce qu’un ServiceAccount ?
Compte utilisé par pods pour interagir avec API Kubernetes
70
Différence entre Role et ClusterRole
Role : permissions namespace spécifique ClusterRole : permissions cluster entier
71
Qu’est-ce que Jenkins Blue Ocean ?
Interface moderne pour visualiser pipelines Jenkins
72
Différence entre freestyle job et multibranch pipeline
Freestyle : simple Multibranch : gère branches automatiquement
73
Qu’est-ce qu’un Docker Tag ?
Étiquette permettant versionner images Docker
74
Différence entre latest et version tag
Latest : dernière image construite version tag : image spécifique
75
Qu’est-ce que Terraform Workspace ?
Environnement isolé pour gérer plusieurs états Terraform
76
Différence entre workspace default et custom
Default : workspace par défaut Custom : workspace personnalisé
77
Qu’est-ce que GitLab CI/CD Pipeline Visualization ?
Vue graphique des jobs et stages du pipeline GitLab
78
Différence entre trigger et schedule
Trigger : lancement manuel ou webhook Schedule : lancement planifié
79
Qu’est-ce que Helm Release ?
Instance déployée d’un Helm Chart dans cluster Kubernetes
80
Différence entre helm upgrade et helm rollback
Upgrade : mettre à jour release Rollback : revenir à version précédente
81
Qu’est-ce qu’un Node Kubernetes ?
Serveur physique ou VM exécutant pods
82
Différence entre master et worker node
Master : contrôle et orchestration Worker : exécution pods
83
Qu’est-ce qu’un StatefulSet Headless Service ?
Service sans IP stable, utilisé pour découverte pods StatefulSet
84
Différence entre ReadinessProbe et LivenessProbe
Readiness : pod prêt pour trafic Liveness : pod vivant, redémarrage si plantage
85
Qu’est-ce que Kubernetes Label ?
Étiquette clé-valeur pour identifier et sélectionner ressources
86
Différence entre label et annotation
Label : pour sélection et organisation Annotation : information additionnelle pour humains ou outils
87
Qu’est-ce qu’un Terraform Provider ?
Plugin permettant Terraform d’interagir avec un service cloud ou API
88
Différence entre resource et data source
Resource : crée ou modifie Data source : lit données existantes
89
Qu’est-ce que Jenkins Credentials ?
Stockage sécurisé d’identifiants pour pipelines
90
Différence entre secret text et secret file
Secret text : mot de passe ou token Secret file : fichier sécurisé
91
Qu’est-ce que Kubernetes Taint ?
Marque un node pour éviter scheduling de pods non tolérants
92
Différence entre taint et toleration
Taint : marque node Toleration : permet pod de s’exécuter malgré taint
93
Qu’est-ce que Docker BuildKit ?
Nouvelle version moteur build Docker plus rapide et efficace
94
Différence entre docker build classique et BuildKit
BuildKit : cache amélioré, parallélisme, sortie plus lisible build classique : ancien moteur