loader image

Gate Training

logo-png
Virtualisation - Cloud - DevOps

Formation Kubernetes : Déployer des conteneurs applicatifs sur Kubernetes

3 Jours

Description de la formation Kubernetes Déploiement

L’approche DevOps prône le développement d’applications sous forme de container. Pour déployer ce type d’applications en production, il faut s’équiper d’un orchestrateur de conteneur prenant en charge la réplication, la tolérance aux pannes ou encore la répartition.
Kubernetes est une plateforme open source permettant d’automatiser le déploiement, la montée en charge et la mise en œuvre de conteneurs d’applications. Elle fonctionne avec de nombreux containers mais est le plus souvent couplée avec Docker. À ce jour, Kubernetes est l’orchestrateur de conteneur open source le plus répandu et le plus mature.
Cette formation Kubernetes Déploiement se destine principalement aux développeurs d’applications. Sa vocation est de vous faire découvrir les différents composants d’une infrastructure Kubernetes, son API et tout particulièrement comment y déployer ou upgrader des architectures multi-conteneurs.
L’outil Helm est présenté afin que vous sachiez mettre en œuvre de façon efficace l’orchestration et le déploiement d’applications ou de micro services sur Kubernetes.

Objectifs

Objectif opérationnel : 

Savoir déployer ou uggrader des architectures multi-conteneurs.

Objectifs pédagogiques :

À l’issue de cette formation Kubernetes Déploiement, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Avoir une bonne vision de l’architecture Kurbenetes
  • Maîtriser l’outil kubectl ainsi que le dashboard Kubernetes
  • Connaitre les descripteurs de déploiement Kubernetes pour les applications multi-conteneurs
  • Mettre en œuvre des déploiements blue/green mis en avant par l’approche DevOps
  • Mettre en œuvre Helm pour déployer et orchestrer vos applications / micros services sur Kubernetes

À qui s’adresse cette formation ?

Public :

Ce cours Kubernetes Déploiement cible principalement les architectes et les développeurs.

 

Prérequis :

Pour suivre cette formation Kubernetes Déploiement, il est recommandé d’avoir des connaissances sur les technologies de conteneurisation (de préférence Docker).

 

Contenu du cours Kubernetes Déploiement

Introduction à Kubernetes et au déploiement de conteneurs applicatifs

Rappels sur la containerisation
Docker et ses concurrents
Le rôle d’un orchestrateur, fonctionnalités attendues
Les distributions Kubernetes de mini-kube aux offres cloud
Gestion de clusters avec l’outil Rancher
Version et API
Architecture et composants : etcd, serveur, contrôleur, Scheduler, kubelet
Introduction aux pods, répliques et services
AtelierInstallation locale minikube

Démarrage avec Kubernetes

Le dashboard Kubernetes
kubectl, les principales commandes
Déployer, démarrer et exposer un container
AtelierPremières interactions avec Kubernetes

Les pods

Modèle/concept du pod : usage, API…
Descripteurs yaml
Le rôle du scheduler
Cycle de vie des pods
Les init containers
Pods stateless, pods stateful
Organisation des pods avec les labels, les sélecteurs, les namespaceset les gabarits
AtelierDéfinition des registres d’images
Allocation de ressources pour un pod
Utilisation de volume

Contrôleurs

Concepts d’un Replica Set
Notion de Deployment
Replication et Deployment Controlers
StatefulSet
DaemonSet
Jobs
CronJob
AtelierUtilisation de Replica, mode stateful

Services

Concept de Service Kubernetes
Gestion réseau des services
IP virtuels et proxys
Notion de headless
Service Discovery, DNS pour les services et les pods
Applications et services
Le rôle d’Ingress
Stratégies réseau pour les pods
AtelierMise en place d’un service
Choix des Ips
Services multi-conteneurs exposé via Ingress

Volumes

Utilité des volumes, types de volume
Partage de fichiers entre deux containers d’un même pod
Accéder au filesystem d’un noeud du cluster
Définition des Persistent Volumes et Persistent Volumes Claims
AtelierMise en place volume persistant à l’intérieur d’un pod

Configuration et secrets

Paramètres de la ligne de commande des containers
Variables d’environnements
ConfigMaps
Secrets
AtelierConfiguration applicative avec ConfigMaps et Secret

Stratégies de déploiement Kubenetes

Déployer une application depuis le dashboard
Créer un déploiement à partir d’un fichier yaml
Exposition du service
Stratégie de mise à jour
Mise à jour progressive avec kubectl
Retour arrière
AtelierIntégration pipeline de déploiement sur Kubernetes, avec rolling update et roll-out

Introduction à Helm

Limites du déploiement des applications/micro services avec Kubernetes
Un gestionnaire de packages d’application pour Kubernetes (Helm)
Fichiers de configuration Helm (charts)
Le langage yaml
Architecture de Helm (helm client, chart repository, Kubernetes API Server)
La structure de répertoire de base d’un chart (templates, charts, chart.yaml, values.yaml, crd,  …)
Le versionning des charts
Créer ses propres charts, les partager et les consommer
Rechercher des charts (helm search) dans des dépôts privés ou publics
AteliersInstallation et configuration de l’outil helm
Déploiement d’une application micro-services
Déploiement d’une application sur un cluster Kubernetes avec Helm et Jenkins 

Réf:

0265

Tarif:

600 Dt

Niveau:

Intermédiaire

Classe à distance:

Possible