Déploiement Cloud Native

La frontière ultime. Vous construirez un pipeline de livraison Cloud Native complet : automatisation des tests avec GitHub Actions, provisionnement de l'infrastructure avec Terraform, déploiement sur Kubernetes, et orchestration de l'ensemble avec Python.

DevOps EngineerKubernetesDevOpsPython

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

La livraison cloud native combine plusieurs automatisations : définition CI, infrastructure as code, orchestration déclarative et traitement opérationnel. Ce projet teste chacune par un artefact concret dans un environnement local préparé.

Vous écrirez un workflow GitHub Actions, créerez un conteneur Docker par Terraform, appliquerez un manifeste Kubernetes multiressource et développerez un analyseur Python de logs. Les phases partagent un thème, mais restent des exercices indépendants, pas une pipeline de production connectée.

Ce que vous apprendrez

  • Définir un workflow Node.js CI avec checkout, Node, installation et tests lors d'un push sur main
  • Configurer le provider Docker Terraform et créer terraform-web avec Nginx et 8080:80
  • Initialiser et appliquer Terraform, puis vérifier le conteneur local par Docker et HTTP
  • Écrire et appliquer un Deployment Kubernetes de trois réplicas nginx:alpine avec labels et sélecteurs correspondants
  • Exposer la charge avec un Service NodePort et confirmer les deux ressources dans le cluster local
  • Analyser un log préparé en Python, dédupliquer le premier champ IP avec un set et afficher le nombre

À qui s’adresse ce cours

Ce projet s'adresse aux personnes apprenant DevOps prêtes à appliquer CI, Terraform, Kubernetes et Python sans commandes pas à pas.

Prérequis : YAML, structure GitHub Actions, providers et ressources Terraform, ports Docker, Deployments et Services Kubernetes, itération et sets Python et terminal Linux ; projet d'évaluation.

Environnement d’apprentissage : Un hôte Linux dans le navigateur avec Docker, Terraform, Minikube local, kubectl, Python 3, contexte Node.js et log préparé ; aucun cloud ni push GitHub requis.

Questions fréquentes

Le workflow s'exécute-t-il réellement sur GitHub ?

Non. Vous créez et validez .github/workflows/ci.yml localement. Aucun push, runner hébergé ou résultat distant de npm test n'est demandé.

Terraform provisionne-t-il du cloud ?

Non. Le provider kreuzwerker/docker exécute un conteneur local nginx:latest. Cloud, état distant, modules et réseau de production sont hors périmètre.

Kubernetes est-il relié à Terraform ou au CI ?

Non. C'est un exercice Minikube séparé. Vous créez un Deployment à trois réplicas et un NodePort sans déploiement par pipeline ni gestion Terraform.

Que fait l'automatisation Python ?

Elle lit access.log, extrait le premier champ, compte les IP uniques avec un set et affiche Unique IPs: 10. Elle ne diffuse aucun log, n'appelle aucune API et ne change pas l'infrastructure.

Enseignant

labby
Labby
Labby is the LabEx teacher.

Recommandé pour vous

no data