Cours
Les concepts essentiels de Kubernetes («KUBNET»)
Ce cours permet d’acquérir des connaissances théoriques et pratiques des éléments fondamentaux de Kubernetes. Il marque une étape essentielle dans la préparation de l’examen de la certification « Certified Kubernetes Application Developer » (CKAD).
Durée
3 jours
Prix
2'700.–
excl. 8.1% TVA
Description de la formation
- Connaître son rôle et son positionnement dans l’écosystème
- D’avoir une vision globale de l’architecture
- Détailler les différents processus utilisés
- Savoir utiliser le client kubectl
- Connaître les différentes primitives et savoir les utiliser
- Connaître les différentes options pour installer un environnement et développement
- Connaître différents outils permettant la mise en place d’un environnement de production
- Développer des connaissances pratiques pour le déploiement d’applications
- Comprendre la gestion des utilisateurs et des droits d’accès
- Savoir utiliser des applications packagées dans des chart Helm
- Préparation à l’examen de la certification « Certified Kubernetes Application Developer » (CKAD)
- Des concepts utiles
- Les containers
- La plateforme Docker
- Architecture microservice
- Application cloud native
- DevOps
- Le projet
- Présentation
- Historique
- Un projet phare de la CNCF (Cloud Native Computing Foundation)
- Overview des principaux éléments
- Théorie :
- Cluster
- Pod
- Deployment
- Service
- Labels et annotations
- Kubectl pour la communication avec un cluster
- Travaux pratiques :
- Installation de kubectl
- Théorie :
- Architecture
- Les différents types de nodes
- Les processus
- Context
- Les différentes interfaces de Kubernetes
- Installation
- Théorie :
- Cluster de développement / test
- Cluster de production
- Mise en place sur un cloud provider
- Mise en place manuelle
- Travaux pratiques :
- Mise en place d’un cluster de développement
- Théorie :
- Les ressources : Pod
- Théorie :
- Utilisation
- Exemple
- Cycle de vie
- Scheduling
- Travaux pratiques :
- Lancement d’un Pod simple
- Lancement d’un Pod avec plusieurs containers
- Utilisation de contraintes de déploiement
- Théorie :
- Focus sur kubectl
- Approche impérative / déclarative
- Options très utilisées
- Utilisation de plugins
- Quelques outils indispensables
- Les ressources : Service
- Théorie :
- Utilisation
- Les différents types
- Cycle de vie
- Démos
- Travaux pratiques :
- Création d’un service de type ClusterIP
- Création d’un service de type NodePort
- Création d’un service de type LoadBalancer
- Théorie :
- Les ressources : Deployment
- Théorie :
- Utilisation
- Exemple de spécification
- ReplicaSet
- Stratégies de mise à jour
- Rolling update et rollback
- Travaux pratiques :
- Création d’un Deployment
- Mise à jour
- Théorie :
- Les ressources : Namespace
- Théorie :
- Présentation
- Création
- Utilisation avec un Context
- Quotas
- Travaux pratiques :
- Création et utilisation de Namespace
- Utilisation des quotas
- Mise en pratique :
- Déploiement d’une application en utilisant les éléments précédents
- Théorie :
- Les ressources : ConfigMap
- Théorie :
- Utilisation
- Les différentes possibilités de création
- Utilisation dans un Pod
- Travaux pratiques :
- Utilisation d’une ConfigMap pour la configuration d’un serveur nginx
- Mise à jour d’une ConfigMap
- Théorie :
- Les ressources : Secrets
- Utilisation :
- Les différents types (generic, docker registry, TLS)
- Démos
- Travaux pratiques :
- Utilisation d’un Secret pour la connexion à une base de données externe
- Mise en pratique :
- Déploiement d’une stack Elastic en utilisant les éléments précédents
- Utilisation :
- Utilisateurs et droits d’accès
- Théorie :
- Requêtes au serveur d’API
- Authentification
- Autorisation
- Démo
- Travaux pratiques :
- Définition d’un utilisateur et d’un groupe via un certification x509
- Mise en place des droits d’accès
- Théorie :
- Interface de gestion
- Théorie :
- Présentation du dashboard Kubernetes
- Autres solutions open source
- Travaux pratiques :
- Déploiement et utilisation du dashboard
- Théorie :
- Les ressources : DaemonSet
- Théorie :
- Utilisation
- Exemple pour la collecte de logs
- Illustration avec un plugin network
- Travaux pratiques :
- Création d’un DaemonSet
- Théorie :
- Les ressources : Ingress
- Théorie :
- Présentation
- Routage par nom de domaine ou via requête HTTP
- Travaux pratiques :
- Exposition d’une application via un Ingress
- Théorie :
- Application stateful
- Théorie :
- La notion de Volume et les différents types disponibles
- Présentation de différentes solutions de l’écosystème
- StatefulSet
- Travaux pratiques :
- Mise en place de Longhorn
- Déploiement d’un cluster MySQL
- Théorie :
- Helm
- Théorie :
- Présentation
- Déployer des applications packagées dans des charts Helm
- Création d’un chart Helm
- Travaux pratiques :
- Déploiement de la stack TICK et packaging dans un chart Helm
- Théorie :
Les participants doivent être habitués à l’utilisation de la ligne de commande sous des systèmes Linux.
Une connaissance de la plateforme Docker équivalente au contenu du cours « Docker Administration et Opérations » est requise.
Cette formation permet de se préparer à l’examen de la certification « Certified Kubernetes Application Developer » (CKAD), délivrée par The Linux Foundation et cocréée avec la Cloud Native Computing Foundation (CNCF).
Format de l’examen :
- En ligne
- Durée : 2 heures
- Langue : En anglais
- Résolution de tâches à partir de la ligne de commande Kubernetes
- L’examen est basé sur Kubernetes v1.29
Une administratrice ou un administrateur K8 certifié.e est capable d’installer, de configurer et de gérer des clusters Kubernetes de qualité de production. Ils et elles maîtrisent les concepts clés de Kubernetes comme les notions de réseau, le stockage, la maintenance, la journalisation et la surveillance, le cycle de vie des applications, la résolution de problèmes et sont capables d'établir des cas d'utilisation de base pour les utilisateurs finaux.