Aller au contenu
English
Compte : non connecté, synchronisation possible Mon apprentissage
Selectionner le thème
English

Formation Cloud native : Kubernetes au-delà des Pods

  • 15 min

Par mis à jour le

Améliorer cette page

Cette formation vous apprend à donner à une application les propriétés cloud native sur Kubernetes : la rendre conforme au 12-factor, adapter les nœuds à sa charge, la passer en scale-to-zero et gouverner son trafic avec un maillage de services. Elle s'adresse à celles et ceux qui déploient déjà sur un cluster et veulent savoir pourquoi et quand une brique de l'écosystème CNCF se justifie. Elle suit les formations Kubernetes et Helm, dont elle reprend les gestes pour aller plus loin, sans les redire.

Elle sert l'ingénieur ou l'ingénieure qui livre des applications sur Kubernetes et doit décider quoi y ajouter. Un développeur y apprend ce qu'une application doit respecter pour s'exécuter proprement sur un cluster. Un administrateur ou un SRE y trouve de quoi justifier, ou refuser, un autoscaler de nœuds, un service mesh ou une plateforme serverless.

Le niveau est intermédiaire. La formation ne cherche pas à vous faire installer le plus de projets possible : elle vous donne une grille pour évaluer un projet, puis des mesures pour juger de son effet réel.

Il faut avoir suivi deux niveaux de la formation Kubernetes, pas les quatre. Le niveau « Fondamentaux et workloads » et le niveau « Livrer une application » suffisent. Ils sont décrits dans le parcours Kubernetes, au niveau 1 et au niveau 2. Rien n'est supposé des niveaux consacrés à l'administration d'un cluster et à sa sécurisation.

Concrètement, vous savez déjà :

  • lancer kubectl apply, kubectl get, kubectl describe et kubectl logs ;
  • écrire un Deployment, un Service, un ConfigMap et un Secret ;
  • poser des sondes (liveness, readiness), lancer un Job et configurer un HPA ;
  • rattacher un ServiceAccount à un Pod.

La formation Helm est conseillée, parce que plusieurs briques de l'écosystème s'installent avec un chart, mais elle n'est pas exigée. Côté poste, il faut Docker et kind pour un cluster local, et au moins 4 Go de RAM libres pour les leçons sur Knative et sur le maillage, qui déploient chacune plusieurs composants. Ce chiffre vient des mesures des labs : le nœud kind a occupé 1,25 Gio avec Knative Serving et Kourier, et 1,42 Gio avec Istio, dont le composant istiod réserve 2 Gi en requests (pour environ 137 Mo réellement consommés), chaque sidecar ajoutant environ 106 Mo.

Elle tient en trois modules, du plus conceptuel au plus pratique. Le programme détaillé, avec le suivi de votre progression, se trouve dans Mon parcours. Chaque module répond à une question que pose l'application : que veut dire cloud native, comment la rendre conforme, et quoi lui ajouter quand la charge ou le nombre de services grandit.

Le premier module pose le vocabulaire et le recul. Il compte deux leçons : Les principes du cloud native, qui explique ce que recouvre le terme et les principes qui le fondent, puis L'écosystème CNCF : évaluer un projet, qui donne une grille pour juger la maturité, la gouvernance et la santé d'un projet avant de l'adopter. Ces deux leçons sont le filtre que vous réutiliserez pour toutes les briques des modules suivants.

Le deuxième module passe de la théorie à l'application. La leçon Rendre une application conforme au 12-factor sur Kubernetes audite une application d'après les douze facteurs et corrige ses écarts. Autoscaling des nœuds : Cluster Autoscaler ou Karpenter montre ensuite comment le Cluster Autoscaler ajoute et retire des nœuds selon les Pods en attente. Les nœuds sont simulés avec le provider KWOK : aucune machine réelle n'est créée, et Karpenter est comparé sans être joué. La leçon Karpenter : provisionner des nœuds à la demande est facultative : elle approfondit l'un des deux outils pour qui veut aller plus loin.

Le troisième module traite deux façons de gérer ce qui entoure une application : le serverless et le maillage. Il commence par Serverless sur Kubernetes, qui situe le modèle, puis Knative Serving : scale-to-zero mesuré fait passer un service à zéro réplica et mesure sur kind le démarrage à froid. Il continue avec Le service mesh, qui explique comment des proxies prennent en charge la communication entre services, puis Imposer délais, reprises et autorisations entre services applique ces règles sans modifier le code, avec Istio 1.31.1 en mode sidecar sur kind.

La formation n'enseigne que ce qu'aucune autre ne traite. Plusieurs notions cloud native existent déjà ailleurs sur le site, et les redire créerait des doublons qui finiraient par se contredire.

  • L'autoscaling des Pods (HPA, VPA) relève de la formation Kubernetes, dans Horizontal Pod Autoscaler. Ici, on adapte les nœuds.
  • Les opérateurs et le chiffrement mTLS de base sont aussi côté Kubernetes, par exemple mTLS pod-to-pod. Le maillage de cette formation traite le trafic, pas ce chiffrement de base.
  • Le GitOps s'apprend avec Argo CD ou Flux CD.
  • L'observabilité (métriques, journaux, traces) a sa propre formation, Observabilité.
  • Le couplage faible et le sans état, vus comme principes de conception, sont dans la formation Cloud et dans la formation Architecture des services.

Chaque leçon d'enseignement se termine par un quiz. Il vérifie que vous avez compris la leçon, et il est tiré d'une banque de questions, si bien que deux tentatives ne posent pas les mêmes questions.

La formation n'a pas encore d'épreuve finale ni de lab DSOXLab : la vérification se limite aujourd'hui aux quiz. Les leçons pratiques vous donnent les commandes à rejouer sur votre propre cluster kind, mais rien ne note encore l'état de ce cluster. Aucune date n'est annoncée.

  • La formation suppose Kubernetes niveaux 1 et 2, pas l'administration ni la sécurisation d'un cluster ; Helm est conseillé.
  • Il faut Docker, kind et au moins 4 Go de RAM libres pour Knative et le maillage : le nœud kind a occupé 1,25 à 1,42 Gio pendant les labs, et istiod réserve 2 Gi.
  • Trois modules : comprendre le cloud native, une application cloud native, puis serverless et maillage de services.
  • La leçon sur Karpenter est facultative.
  • Autoscaling des Pods, GitOps, observabilité, couplage faible : autres formations, liées plus haut.
  • Chaque leçon d'enseignement a un quiz ; l'épreuve finale et le lab n'existent pas encore.

Ce projet vous est utile ?

Les guides, formations, quiz et labs restent gratuits. Si vous les utilisez régulièrement, vous pouvez contribuer à leur maintenance et à leur développement.

Devenir membre de soutien (nouvel onglet) Soutenir une fois (nouvel onglet) En savoir plus

Suivez aussi le projet sur LinkedIn