Kubernetes bases et concepts avancés
Kubernetes est un outil né dans les laboratoires de Google, qui l’a reversé à la CNCF (Cloud Native Computing Foundation) il y a quelques années. Pensé par Google pour permettre le déploiement de leurs applicatifs dans leurs datacenters disséminés à travers le monde, Kubernetes est aujourd’hui le logiciel d’infrastructure majeur dans la mise en place d’un grand nombre d’applications distribuées.
Devenu le standard defacto de l’infrastructure de déploiement à grande échelle d’applications conteneurisées, ce cours aborde les éléments structurants de l’outil dont la compréhension et la maîtrise vous permettront d’opérer des applications qui requièrent une forte élasticité.
Positionnement par rapport aux services
Déploiement d’un ingress
Configurer les règles ingress
Scheduling des pods
Les stratégies de placement des pods par le kube-scheduler
Utiliser les labels pour orienter le placement
Configurer les « taints » et « tolerations »
Utiliser les « podAffinity » et « podAntiAffinity »
Logging et Troubleshooting
Kubernetes n’embarque pas d’outil de logging intégré
Quels outils sont utilisables ?
Discussion autour des « sidecars » de gestion de logs des pods
Helm
Faciliter les déploiements avec HELM
Mettre en place un Chart pour paramétrer l’application
Rôle de Tiller
Initialiser Helm dans un cluster
Security
Gestion de l’authentification
Gestion des autorisations (ABAC et RBAC)
Contrôle d’admission
« Network Policies » : Définir les règles réseau
High Availability
Un cluster haute disponibilité : plusieurs masters
Stratégie pour la base etcd
Les outils de collectes
Métriques techniques ou logs applicatifs ?
Bonnes pratiques pour la gestion des logs dans un conteneur
Metricbeat, Filebeat, FluentD
Collecte des métriques de Kafka, nginx, …
Prométheus
Les outils de Stockages
Prométheus pour les métriques : scrapping et requêtage
Elasticsearch : Un moteur d’indexation
Les outils d’exploitation et d’alerting
Grafana et Kibana : les outils de datavizualisation (logs, métriques)
Mise en place de dashboards
Nagios : Mise en place d’un système d’alerting couplé à Prométheus
La formation se compose de 70% de pratique. La pratique peut-être un exercice, un exercice guidé voire une démonstration en fonction du degré de technicité nécessaire à sa mise en place.
Les cas pratiques s’appuieront sur des applications simples (développées par nos soins pour illustrer des points techniques précis) ou des outils du marché communément utilisés (Kafka, Postgres, Apache, Nginx…). Ils mettront l’accent sur la compréhension des différents rouages à mettre en place pour collecter les métriques techniques ou les logs applicatifs depuis le conteneur jusqu’à leur exploitation.
L’environnement d’exercice qui sera utilisé sera déployé dans AWS.
- +15ans d'expérience pour tous nos formateurs
- 4jours
À qui s’adresse cette formation "Kubernetes bases et concepts avancés" ?
Description de la formation "Kubernetes bases et concepts avancés"
-
Méthodes pédagogiques
- La formation se compose de 60% de travaux pratiques (Mises en situation, débats, exercices).
- Une évaluation quotidienne de l'acquisition des connaissances de la veille est effectuée.
- Une synthèse est proposée en fin de formation.
- Un support de cours (version électronique) sera remis à chaque participant comprenant les slides sur la théorie, les exercices.
- Une évaluation à chaud sera proposée au stagiaire à la fin du cours.
- Une feuille d'émargement par demi-journée de présence est fournie en fin de formation ainsi qu'une attestation de fin de formation si le stagiaire a bien assisté à la totalité́ de la session.
-
Présentation
Kubernetes est un outil né dans les laboratoires de Google, qui l’a reversé à la CNCF (Cloud Native Computing Foundation) il y a quelques années. Pensé par Google pour permettre le déploiement de leurs applicatifs dans leurs datacenters disséminés à travers le monde, Kubernetes est aujourd’hui le logiciel d’infrastructure majeur dans la mise en place d’un grand nombre d’applications distribuées.
Devenu le standard defacto de l’infrastructure de déploiement à grande échelle d’applications conteneurisées, ce cours aborde les éléments structurants de l’outil dont la compréhension et la maîtrise vous permettront d’opérer des applications qui requièrent une forte élasticité.
Positionnement par rapport aux services
Déploiement d’un ingress
Configurer les règles ingress
Scheduling des pods
Les stratégies de placement des pods par le kube-scheduler
Utiliser les labels pour orienter le placement
Configurer les « taints » et « tolerations »
Utiliser les « podAffinity » et « podAntiAffinity »
Logging et Troubleshooting
Kubernetes n’embarque pas d’outil de logging intégré
Quels outils sont utilisables ?
Discussion autour des « sidecars » de gestion de logs des pods
Helm
Faciliter les déploiements avec HELM
Mettre en place un Chart pour paramétrer l’application
Rôle de Tiller
Initialiser Helm dans un cluster
Security
Gestion de l’authentification
Gestion des autorisations (ABAC et RBAC)
Contrôle d’admission
« Network Policies » : Définir les règles réseau
High Availability
Un cluster haute disponibilité : plusieurs masters
Stratégie pour la base etcd
Les outils de collectes
Métriques techniques ou logs applicatifs ?
Bonnes pratiques pour la gestion des logs dans un conteneur
Metricbeat, Filebeat, FluentD
Collecte des métriques de Kafka, nginx, …
Prométheus
Les outils de Stockages
Prométheus pour les métriques : scrapping et requêtage
Elasticsearch : Un moteur d’indexation
Les outils d’exploitation et d’alerting
Grafana et Kibana : les outils de datavizualisation (logs, métriques)
Mise en place de dashboards
Nagios : Mise en place d’un système d’alerting couplé à Prométheus
La formation se compose de 70% de pratique. La pratique peut-être un exercice, un exercice guidé voire une démonstration en fonction du degré de technicité nécessaire à sa mise en place.
Les cas pratiques s’appuieront sur des applications simples (développées par nos soins pour illustrer des points techniques précis) ou des outils du marché communément utilisés (Kafka, Postgres, Apache, Nginx…). Ils mettront l’accent sur la compréhension des différents rouages à mettre en place pour collecter les métriques techniques ou les logs applicatifs depuis le conteneur jusqu’à leur exploitation.
L’environnement d’exercice qui sera utilisé sera déployé dans AWS.
-
Objectifs
- Comprendre l’architecture Kubernetes
- Mettre en place un cluster Kubernetes
- Piloter le déploiement de vos applications
- Accéder à un cluster Kubernetes
- Sécuriser l’accès au cluster
- Apprendre à faire la différence entre les logs et les métriques
- Architecture de collecte de logs & métriques
- Comprendre et mettre en œuvre différents outils pour la collecte et le stockage : Prométheus, FluentD, Metricbeat, FileBeat, ElasticSearch
- Exploiter les informations collectées avec Grafana ou Kibana
- Mettre en place un système d’alerting en utilisant Nagios ou Prometheus Alerting.
-
Audience
- Administrateurs
- Développeurs
-
Formateur
Le formateur est un expert du domaine qui intervient sur le sujet depuis plusieurs années en formation mais aussi en conseil. Doté d’une grande qualité d’écoute, sa pédagogie et sa compétence technique vous permettront d’acquérir les compétences ciblées.
-
Prérequis
- Les compétences professionnelles suivantes sont impératives : Commandes linux de base, une technologie de conteneurisation souhaitée mais pas obligatoire (docker par exemple)
-
Programme
Présentation Docker
- Principe de conteneurisation
- Docker, un outil de packaging
- Gérer le cycle de vie de vos conteneurs
- Créer son conteneur
Les bases de Kubernetes
- Origines
- Le vocabulaire
- Les outils
Installation et Configuration
- Télécharger et paramétrer un cluster Kubernetes
- Dans le cloud ou on premise ?
- Haute disponibilité
Architecture Kubernetes
- Les composants de Kubernetes
- Etcd pour stocker la configuration
- Kubelet et contrôleurs
- Le Pod et les services
Gestion de l’état des déploiements
- Configuration d’un déploiement
- Paramétrage du scaling
- Mise à jour avec le « rolling update » et « rollback »
- Utiliser les labels pour sélectionner les composants
Les services
- Définitions
- Exposer une application
- Proxy
- Le cluster DNS
Gestion des volumes
- Définition d’un volume
- Paramétrage du type et des modes d’accès
- Faire le lien avec votre application
- Des volumes spéciaux : Secrets et configMaps
Ingress
-
Tarif
Nous consulter