DevOps / Kubernetes
Kubernetes

Durée : 4 Jours

Public : 10 participants Max

Prérequis :
Utilisateurs désirant consolider leurs bases sur Ubuntu et renforcer leurs expertises
sur ce système d’exploitation.

Objectif:
• Comprendre comment utiliser Kubernetes
• Découvrir l’architecture interne de Kubernetes
• Appréhender les principaux composants avancés de Kubernetes
• Savoir installer Kubernetes en production
• Paramétrer l’authentification et la gestion des utilisateurs
• Maîtriser les fonctionnements des réseaux virtuels Kubernetes
• Optimiser le monitoring du cluster Kubernetes
• Étendre et customiser les rouages de Kubernetes

Cible:
• Développeurs
• Architectes
• Administrateurs systèmes
• DevOps
Programme détaillé
Introduction aux micro-services
- Application monolithique versus Micro-services
- Les bonnes pratiques dans le cloud : la méthodologie des “12 facteurs”
- Faire évoluer une application vers les micro-services Rappels sur les conteneurs
- Vue d’ensemble des conteneurs : Docker et containerd
- Installer et exécuter des images Docker
- Interagir avec des conteneurs
- Créer ses propres images
- Différence entre les dépôts privés et publics Kubernetes : les bases
- Créer un cluster Kubernetes : sur votre poste de travail, dans votre datacenter ou dans le cloud
- Architecture et composants de Kubernetes (côté Control Plane et Node)
- Cycle de vie d’une requête kubectl
- Déployer une application sur plusieurs machines
- Explorer une application
- Exposer une application sur le réseau
- Passage à l’échelle
Kubernetes : les principaux concepts
- Vue d’ensemble des Pods
- Interagir avec les Pods
- Configuration et sécurité d’une application (ConfigMaps et Secrets)
- Vue d’ensemble des Services (ClusterIP, NodePort, LoadBalancer, Headless)
- Créer ses propres services pour exposer ses applications
- Organiser ses Pods avec les Labels
- Déployer ses micro-services
- Stratégies de déploiement en mode “Cloud-Native”
- Stratégies de calcul intensif (Jobs)
- Cas pratique : déploiements avec kubectl et yaml
- Stratégies de passage à l’échelle (Replicasets et Daemonsets)
- Cas pratique : utilisation des réplicas
- Cas pratique : installation d’un gestionnaire de journaux distribués
- Stratégie de mise à jour logicielle (Deployments)
- Cas pratique : Rolling update
- Gérer simplement ses mises à jour applicatives
- Techniques avancées : déploiement blue/green, canary
- Cas pratique : Déploiement continu GitOps avec ArgoCD
Gérer la Persistance de données
- Stockages volatiles et persistants
- Déploiement des bases de données distribuées
- Cas pratique : installation de MongoDB et/ou PostreSQL en mode distribué
- Observabilité de Kubernetes
- Introduction à l'observabilité avec OpenTelemetry
- Types de données d'observabilité
- Composant de cluster et d'infrastructure
- Monitoring
- Logs
- Metrics
- Traces API
- Stratégie d'observabilité Cloud Native
- Déploiement d'une solution capable de collecter les logs : FluentD
- Déploiement d'une solution capable de collecter les métriques : Prometheus
- Déploiement d'une solution capable de corréler les traces : OpenTelemetryOperator
- Outil de visualisation unifié : Grafana
- Multiples composants
- API server
- Contrôleur
- Proxy réseau
- Infrastructure des clusters
- Identification des problèmes au sein d'un cluster
- Fonctionnement du réseau Kubernetes
- Comparatif des principaux plugin réseau (CNI)
- Installation de Calico
- NetworkPolicies et bonnes pratiques
- Gestion de la confiance dans le SI del’entreprise
- NetworkPolicies pour les Hosts et les NodePorts
- Connectivité réseau
- Connectivité des Pods
- Le Dataplane eBPF de Calico
- Gestion des adresses IP
- Peering avec BGP
- Services Kubernetes
- Présentation des services au sens Kubernetes
- Gestion des services avec kube-proxy
- Gestion des services avec Calico
- Exposition des services
Demandez un devis pour cette formation