Ce que vous allez apprendre dans ce TP
- Gérer des paquets et des services
- Écrire une unité systemd durcie
- Planifier avec un timer
Introduction #
Ce que vous allez apprendre dans cette section
- Gérer des paquets et des services
- Écrire une unité systemd durcie
- Planifier avec un timer
Contexte. Une petite application interne est lancée à la main dans un terminal et s'arrête à chaque déconnexion. Vous en faites un vrai service, supervisé et durci.
Prérequis : une machine virtuelle Ubuntu 24.04 jetable (Multipass, Vagrant ou cloud) avec un compte sudo · Durée estimée : 45 min
Un service qui démarre au boot, redémarre seul et est contrôlé chaque minute.Mise en place #
Étapes guidées, avec leur correction.
1. Installer et piloter nginx
Pourquoi ? Un paquet de distribution fournit déjà son unité systemd : on apprend les commandes sur un cas simple.
Mettez à jour l'index, installez nginx, vérifiez qu'il est actif et activé au démarrage, et testez-le avec curl.2. Préparer l'application
Pourquoi ? L'application tourne sous un compte de service dédié, jamais root.
Créez le compteapp(s'il n'existe pas) et un site statique dans/srv/app/wwwservi parpython3 -m http.serversur le port 8080.3. Écrire l'unité
Pourquoi ? systemd démarre le service au boot, le relance en cas de crash et l'isole du reste du système.
Créez/etc/systemd/system/app.serviceavecRestart=on-failureet des options de durcissement, rechargez systemd, activez et démarrez le service.4. Tester le redémarrage automatique
Pourquoi ? On vérifie le comportement en cas de crash plutôt que de le supposer.
Tuez le processus principal avec SIGKILL, constatez qu'un nouveau PID apparaît, puis retrouvez l'événement dans le journal.5. Surcharger l'unité
Pourquoi ? Une surcharge (drop-in) modifie un service sans éditer son fichier, ce qui survit aux mises à jour.
Limitez la mémoire du service à 200 Mo et son CPU à 50 % avec une surcharge, puis vérifiez les valeurs appliquées et le score de sécurité.6. Planifier un contrôle avec un timer
Pourquoi ? Un timer systemd journalise chaque exécution et rattrape celles manquées, contrairement à cron.
Créez un servicehealthcheckqui interroge/healthet un timer qui le lance chaque minute. Arrêtez l'application et observez l'échec dans le journal.
Niveau de difficulté : ●●○○○ (2/5)
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Articles recommandés
Paquets, services systemd, journaux et tâches planifiées
Installer et mettre à jour des logiciels avec apt et dnf, piloter les services avec systemctl, éc...
Bonnes Pratiques Kubernetes
Meilleures pratiques pour sécuriser et optimiser les déploiements Kubernetes.
Comparaison Offres Kubernetes
Analyse complète des offres managées de Kubernetes avec points forts, fonctionnalités, tarificati...
Stratégies de placement Kubernetes
Présentation des stratégies de placement dans Kubernetes pour optimiser la gestion des charges de...
CNI Kubernetes : Flannel, Calico et Cilium comparés
Kubernetes CNI : comprendre les plugins réseau (Container Network Interface) et comparer Flannel,...
Gestionnaires de packages
Les différents gestionnaires de packages pour Kubernetes et leurs avantages.
Jobs vs Serverless
Comparaison entre les Jobs Kubernetes et le modèle Serverless pour le calcul de tâches en arrière...
PersistentVolume, PersistentVolumeClaim et StorageClass dans Kubernetes
PersistentVolume (PV), PersistentVolumeClaim (PVC) et StorageClass dans Kubernetes : différences,...
Resource Quota Kubernetes
Guide complet sur les quotas de ressources Kubernetes pour la gestion des namespaces.