Kubernetes, k8s (pour k, 8 caractères, s) ou encore « kube », est une plateforme Open Source qui automatise l’exploitation des conteneurs Linux. Elle permet d’éliminer de nombreux processus manuels associés au déploiement et à la mise à l’échelle des applications conteneurisées. En d’autres termes, Kubernetes vous aide à gérer facilement et efficacement des clusters au sein desquels vous aurez rassemblé des groupes d’hôtes exécutant des conteneurs Linux. Ces clusters peuvent couvrir des hôtes situés dans des clouds publics, privés ou hybrides. C’est la raison pour laquelle Kubernetes est la plateforme idéale pour héberger les applications cloud-native qui requièrent une mise à l’échelle rapide, comme la diffusion de données en continu et en temps réel via Apache Kafka.
Dans cette formation vous apprendrez à déployer vos premières applications à l’aide des pod, services, replicatset et le gestionnaire de Chart Helm.
Cette formation est destinée:
- aux développeurs
- aux administrateurs systèmes et réseaux
- aux managers et chef de projet IT
Prérequis: avoir de bonnes bases sur Docker (https://eazytraining.fr/cours/introduction-a-docker/)
Formateur: Dirane TAFEN (Consultant et Instructeur dans le Cloud et le DevOps)
Durée de la formation: 10 heures
Une plateforme de TP à votre disposition à tout moment via votre navigateur !
PRATIQUE ! PRATIQUE ! PRATIQUE !
Nos formations sont très pratiques, vous verrez que nous mettons en place systématiquement des exemples concrets afin de vous permettre de mieux appréhender les notions évoquées. En plus, sur certains de nos cours (docker, kubernetes, ansible, openshift …) nous vous permettons de réaliser les Labs directement sur notre plateforme, en effet nous souhaitons vous faciliter la tâche en mettant en place une plateforme d’expérimentation hébergée par EAZYTraining et à laquelle vous avez accès à tout moment. Qu’attendez-vous ? Allez lancez vous et apprenez en pratiquant.
-
Module 00 : Présentation de la formation
-
Module 01 : Introduction au DevOps et à l'orchestration
-
Module 02 : Composants et installation de kubernetes
- Composants et installation de kubernetes
- TP-0 : Code d’accès de la plateforme EAZYTraining
- TP-0 : presentation de la plateforme de tp de eazytraining
- TP-1 : Composants et installation de kubernetes
- TP-1 : [correction] Installation de minikube
- TP-1 : [correction] installation de prerequis minikube
- TP-1 : [correction] installation de minikube
- TP-1 : [correction] presentation de plateforme de TP kubernetes de eazytraining partie 1
- TP-1 : [correction] presentation de plateforme de TP kubernetes de eazytraining partie 2
- TP-1 : [correction] code utilisé
-
Module 03 : Déployez vos premiers applications
- Déployez vos premiers applications
- TP-2 : Déployez vos premiers applications
- TP-2 : [correction] déploiement de votre premier pod
- TP-2 : [correction] exposition de l’application
- TP-2 : [correction] connexion à notre application
- TP-2 : [correction] suppression de votre pod
- TP-2 : [correction] creation de votre deployment
- TP-2 : [correction] suppression de votre deployment
- TP-2 : [correction] utilisation des variables d’environnement
- TP-2 : [correction] mettre à jour la version de notre application à chaud
- TP-2 : [correction] poussez votre code sur github
- TP-2 : [correction] code utilisé
-
Module 04 : Gestion du réseau
- Gestion du réseau
- TP-3 : Gestion du réseau
- TP-3 : [correction] création de namespace
- TP-3 : [correction] création de notre deuxième pod
- TP-3 : [correction] rédaction du manifest du service node-port
- TP-3 : [correction] création du service de type node-port
- TP-3 : [correction] loadbalancing à l’aide du service node-port
- TP-3 : [correction] code utilisé
- Ingress – Problématique
- Ingress – Définition
- Ingress – liens utiles
- TP: [correction] ingress controller
- TP: [correction] déploiement de l’application à exposer
- TP: [correction] création de l’ingress rule
-
Module 05 : Gestion du stockage
- Gestion du stockage
- TP-4 : Gestion du stockage
- TP-4 : [correction] utilisation de volume pour les données de notre pod mysql partie 1
- TP-4 : [correction] utilisation de volume pour les données de notre pod mysql partie 2
- TP-4 : [correction] validation de la création du volume
- TP-4 : [correction] utilisation pvc et pv pour les données de notre pod mysql
- TP-4 : [correction] code utilisé
-
Module 06 : Introduction à helm V2
- Introduction à helm
- [IMPORTANT] HELM V2 DEPRECIE
- TP-5 : Introduction à helm
- TP-5 : [correction] installation de helm
- TP-5 : [correction] recherche du chart wordpress
- TP-5 : [correction] déploiement du chart wordpress avec surcharge des variables
- TP-5 : [correction] connexion à l’application
- TP-5 : [correction] code utilisé
-
Module 07 : Helm V3
-
Module 08 : AWS + EKS
-
Module 09 : GitOps avec Jenkins-x
- GitOps : Présentation
- Jenkins-x : Présentation
- TP : ATTENTION LA METHODE D’INSTALLATION A CHANGE
- TP : install jenkins-x partie 1
- TP : install jenkins-x partie 2
- TP : resize admin vm partie 1
- TP : resize admin vm partie 2
- TP : finalisation de l’installation
- TP : vérification des entrées dns
- TP : webhook
- TP : déploiement d’une application avec jenkins-x
- TP : supprimer les ressources créées
- TP : code utilisé
-
Module 10 : Tekton - Pipelines
-
Module 11 : Polaris - Gouvernance + Conformité d'un cluster K8S
-
Module 12 : Auto-DevOps : Gitlab-CI + EKS
- présentation de la problématique
- présentation de l’architecture à implémenter
- Liens utiles
- création de la connexion entre gitlab et aws
- création du cluster kubernetes EKS via gitlab
- vérification de la création du cluster
- installation de l’ingress controller
- configuration du DNS
- installation de prometheus
- consultation des métriques prometheus
- activation auto-devops
- auto-devops en action
- vérification de l’application en environnement de preprod
- vérification de l’application en environnement de prod
-
Module 13 : Istio - Service Mesh
- les attentes liées aux microservices
- les limites de l’approche en library
- service mesh
- solution de service mesh sur le marché
- architecture de istio
- commandes utilisées
- installation de minikube
- méthode d’installation d’istio
- installation d’istio
- présentation de l’application microservice
- déploiement de l’application
- accès à l’application par istio ingress
- gateway et virtual service
- limite de notre virtual service actuel
- traffic management avec les destination rule
- vérification de nos règles subset
-
Module 14 : Backup k8s avec velero
- problématique liée au backup de kubernetes
- resilience de l’etcd
- ressource state
- pourquoi velero
- présentation de velero
- infrastructure utilisée
- vérification de l’accès aws
- commandes utilisées
- installation des prérequis
- installation de velero
- déploiement d’une application test à backuper
- backup de tout le cluster
- backup d’un namespace particuliers
- restauration de l’application de prod
-
Module 15 : Kustomize
-
Module 16 : Serverless avec Kubernetes + OpenFAAS
-
Module 17 : Bonus
-
Module 18 : Mini-projet
-
Module 19 : play with kubernetes