Notifications de mise à jour de l'application
Informatique

DevOps

Qui crée quoi, dans quel ordre

60 flashcards
Informatique
Rappel espacé

Questions & réponses

1

Que signifie « Kubernetes est déclaratif » ?

On décrit l'état désiré, pas les actions ; le cluster converge vers cet état tout seul

2

Qu'est-ce que Terraform ?

Un outil d'infrastructure as code déclaratif : on décrit l'infra en HCL, il applique les changements

3

Qu'est-ce que le state Terraform ?

Le fichier qui associe chaque ressource de la config à son identifiant réel chez le fournisseur

4

Pourquoi découper un gros state en plusieurs ?

Un plan plus rapide, un rayon d'explosion limité, et des équipes qui n'attendent pas le même verrou

5

Qu'est-ce que Helm ?

Le gestionnaire de paquets de Kubernetes : des charts, templates YAML paramétrables

6

Comment garantir qu'on déploie exactement la même image qu'en test, indépendamment des tags ?

La référencer par son digest : image@sha256:…

7

Qu'est-ce qu'un rôle IAM ?

Une identité sans clé fixe, assumée par un service ou un utilisateur pour des identifiants temporaires

8

Qu'est-ce qu'EKS ?

Kubernetes managé par AWS : control plane hébergé et opéré par AWS, nœuds à toi (ou Fargate)

9

Qu'est-ce qu'OpenID Connect (OIDC) ?

Une couche d'identité au-dessus d'OAuth 2.0 : elle ajoute l'authentification et l'ID token

10

Qu'est-ce que le DevOps ?

Une façon de travailler où dev et ops partagent outils, responsabilités et boucle de feedback

11

Qu'est-ce que l'intégration continue (CI) ?

Chaque commit poussé est automatiquement construit et testé

12

Qu'est-ce que le continuous delivery ?

L'artefact est toujours prêt à être déployé en production ; le déploiement reste une décision humaine

13

Qu'est-ce que le continuous deployment ?

Chaque commit qui passe le pipeline part en production, sans intervention humaine

14

Pourquoi construire l'image une seule fois et la promouvoir de staging à prod, plutôt que de la reconstruire par environnement ?

Pour déployer en prod exactement ce qui a été testé : même digest, zéro variation de build

15

Quelles sont les trois étapes types d'un pipeline qui livre une application conteneurisée ?

1. Build : `docker build` de l'image, tests, tag par SHA du commit 2. Push : l'image part dans le registre (ECR, GHCR) 3. Deploy : la config de déploiement (manifest, Helm values) est mise à jour pour pointer vers le nouveau tag, puis appliquée au cluster

16

Dans une stack Terraform + Kubernetes + Helm, que crée Terraform ?

L'infrastructure sous le cluster : réseau, cluster lui-même, nœuds, IAM, bases, DNS, registre

17

Dans une stack Terraform + Kubernetes + Helm, qui déploie les applications sur le cluster ?

Helm (ou kubectl, Kustomize, Argo CD) : des manifests Kubernetes, pas du Terraform

18

Pourquoi ne pas créer le cluster et y déployer des ressources Kubernetes dans le même apply Terraform ?

Le provider se configure depuis des attributs du cluster inconnus au plan : ça marche parfois, puis casse

19

Comment organiser l'infra en couches, du bas vers le haut ?

1. Réseau : VPC, sous-réseaux, DNS (Terraform) 2. Cluster : EKS, nœuds, IAM (Terraform) 3. Plateforme : ingress controller, cert-manager, external-dns, monitoring (Helm, souvent via Terraform ou Argo) 4. Applications : les services métier (Helm / GitOps)

20

Où vit la configuration d'une application selon sa nature ?

Hors de l'image si ça change sans rebuild ; dans les values si ça dépend de l'environnement

21

Qu'est-ce qu'une release Helm ?

Une instance installée d'un chart dans un namespace, avec un historique de révisions

22

Comment une valeur créée par Terraform (endpoint RDS, ARN de rôle) arrive-t-elle jusqu'à l'application ?

Terraform l'expose en output, le pipeline ou le state suivant la lit et l'injecte dans les values Helm

23

Qu'est-ce que le GitOps ?

L'état désiré du cluster vit dans Git ; un agent dans le cluster réconcilie en continu avec ce qui est commité

24

Déploiement push ou pull : quelle différence de sécurité ?

En push, la CI détient les identifiants du cluster ; en pull, l'agent n'a besoin que de lire Git

25

Comment se fait la promotion d'une version de staging vers prod en GitOps ?

Par un commit qui change le tag d'image dans les values de prod, souvent via une pull request

26

Qui crée le load balancer AWS devant un cluster EKS : Terraform ou Kubernetes ?

Kubernetes, via le AWS Load Balancer Controller, à la création d'un Service LoadBalancer ou d'un Ingress

27

Que fait external-dns ?

Il crée les enregistrements DNS (Route 53…) à partir des Ingress et Services du cluster

28

Que fait cert-manager ?

Il obtient et renouvelle automatiquement les certificats TLS (Let's Encrypt ou autre) pour les Ingress

29

Où se termine le TLS dans une stack Kubernetes typique ?

Au load balancer ou à l'ingress controller ; derrière, les pods parlent en HTTP clair sur le réseau interne

30

Quelles sont les couches d'autoscaling d'un cluster Kubernetes dans le cloud ?

1. HPA : plus de pods quand la charge monte 2. Cluster Autoscaler / Karpenter : plus de nœuds quand des pods restent Pending faute de place 3. Auto Scaling Group / API EC2 : les machines réellement créées

31

Quel est le chemin d'un secret du coffre jusqu'au pod ?

Secrets Manager / Vault → External Secrets Operator (dans le cluster, avec un rôle IAM en lecture) → objet Secret Kubernetes → variable d'env ou fichier dans le pod

32

Comment une CI (GitHub Actions) s'authentifie-t-elle auprès d'AWS sans clé stockée ?

Par OIDC : le job présente un jeton signé par GitHub, échangé contre les identifiants temporaires d'un rôle

33

Comment un pod EKS obtient-il des droits AWS (lire un bucket) sans clé ?

Par IRSA ou Pod Identity : son ServiceAccount est associé à un rôle IAM

34

Qu'est-ce qu'un déploiement blue/green ?

Deux environnements complets ; on bascule le trafic de l'ancien (blue) vers le nouveau (green) d'un coup

35

Qu'est-ce qu'un déploiement canary ?

La nouvelle version reçoit une petite part du trafic (1 à 10 %) ; on mesure, puis on augmente ou on annule

36

Pourquoi le rollback d'une application ne suffit-il pas si elle a migré sa base de données ?

L'ancienne version ne sait pas lire le nouveau schéma : la migration doit rester compatible avec N-1

37

Qu'est-ce qu'un feature flag ?

Un interrupteur de configuration qui active une fonctionnalité sans redéployer

38

Qu'est-ce que le trunk-based development ?

Tout le monde commite sur une branche principale unique, via des branches qui vivent des heures

39

Qu'est-ce que l'observabilité ?

La capacité à comprendre l'état interne d'un système à partir de ce qu'il émet : métriques, logs, traces

40

Qu'est-ce qu'OpenTelemetry ?

Le standard ouvert (CNCF) pour instrumenter une application : métriques, logs et traces

41

Qu'est-ce qu'un SLO ?

Un objectif chiffré de fiabilité sur une métrique vue par l'utilisateur, sur une période donnée

42

Qu'est-ce qu'un error budget ?

La marge d'indisponibilité que le SLO autorise : avec 99,9 % sur 30 jours, 43 minutes de panne

43

Que mesure le lead time for changes (DORA) ?

Le temps entre un commit et sa mise en production

44

Que mesure le change failure rate (DORA) ?

La part des déploiements en production qui provoquent un incident ou un rollback

45

Qu'est-ce que le shift-left en sécurité ?

Déplacer les contrôles de sécurité dans la CI, au plus près du commit, plutôt qu'en audit final

46

Qu'est-ce qu'un runner de CI ?

La machine (ou le conteneur) qui exécute les jobs du pipeline

47

Pourquoi la config d'une appli conteneurisée passe-t-elle par des variables d'environnement ?

C'est le seul canal que tous les environnements fournissent sans rebuild : règle III des 12 facteurs

48

Que veut dire « cattle, not pets » ?

Les serveurs sont interchangeables et remplaçables, pas soignés un par un

49

Qu'est-ce que l'infrastructure immuable ?

On ne modifie jamais un serveur en place : on construit une nouvelle image et on remplace

50

Que reste-t-il à Ansible dans une stack Terraform + conteneurs ?

Presque rien : Terraform provisionne, image et manifests configurent ; Ansible reste aux serveurs mutables

51

Pourquoi utiliser Compose en local et Kubernetes en prod avec la même image ?

La même image garantit le même comportement ; seul l'orchestrateur change, adapté à l'échelle

52

Un namespace par environnement ou un cluster par environnement ?

Namespaces pour les environnements de même criticité ; un cluster séparé pour la prod

53

Pourquoi référencer une action de CI par SHA plutôt que par tag (`@v4`) ?

Un tag peut être déplacé par son auteur, ou par un attaquant : le SHA, non

54

Quelqu'un modifie un Deployment à la main avec kubectl edit : que se passe-t-il en GitOps ?

L'agent détecte l'écart avec Git et remet le manifest en place (self-heal), le changement manuel disparaît

55

Comment une readiness probe se propage-t-elle jusqu'au load balancer cloud ?

Pod prêt → endpoint du Service → cible saine de l'ingress ou du LB ; pod pas prêt → retiré de toute la chaîne

56

Qu'est-ce qu'un postmortem sans blâme ?

L'analyse d'un incident centrée sur les causes systémiques et les actions, pas sur la faute d'une personne

57

Comment une identité IAM (humain, CI) obtient-elle des droits dans l'API Kubernetes d'un cluster EKS ?

Par une access entry EKS, créée par Terraform, qui associe le rôle IAM à des droits RBAC Kubernetes

58

Qui a le droit de tirer l'image depuis ECR quand un pod démarre sur EKS ?

Le nœud, via son rôle IAM (lecture ECR) ; pour un registre tiers, un imagePullSecret dans le namespace

59

En GitOps, qui écrit le nouveau tag d'image dans le dépôt de config après un build ?

La CI commite dans le dépôt de config, ou un outil du cluster (Image Updater, Flux) qui surveille le registre

60

Qui exécute la migration de schéma et à quel moment du rollout ?

Un Job lancé avant le rollout par un hook (Helm pre-upgrade, Argo PreSync), jamais l'appli au démarrage

Prêt à t'y mettre ?