1 - AN-002-FR Introduction to Ansible

Durée: 2 jours

Cette formation proposée sous forme de formation de 2 jours, ou 4 demi-journées, offre une introduction complète à la gestion de configuration sous Ansible.

Note: Cette formation existe également sous forme de formation de 3 jours « AN-003-EN Introduction à Ansible » permettant plus de temps pour les TP et également l’ajout de modules “Ansible Vault” et “Network Automation”.

Cette formation comprend beaucoup de pratique ainsi que de théorie. Tous les exercices pratiques seront effectués sur des machines virtuelles et des conteneurs Linux.

Les étudiants apprécieront la facilité avec laquelle les logiciels peuvent être installés et maintenus de manière fiable, reproductible et réutilisable au sein des équipes grâce à la nature largement déclarative des Playbooks et rôles Ansible. Les playbooks peuvent être réexécutés, garantissant des résultats reproductibles en raison de la nature idempotente d’Ansible.|

Pre-requisites

  • Soyez à l’aise en travaillant en ligne de commande et en éditant des fichiers
  • Notions de base de Cloud, Linux, Conteneurs
  • Utilisation d’un client ssh, par ex. openssh sous Linux, macOS ou Windows (ou Putty)|

Compris

  • Supports de cours et laboratoires : 50 % de travaux pratiques, 50 % de présentation et de démonstrations
  • Accès à un environnement de laboratoire temporaire
  • accès à un document évolutif regroupant diverses ressources d’apprentissage|

Objectifs

  • Apprenez à utiliser Ansible pour effectuer la configuration logicielle et la maintenance des machines/appareils
  • Découvrez les nombreux modules intégrés, collections de modules et rôles pour Ansible
  • Découvrez les meilleures pratiques pour travailler avec Ansible|

Programme

Module: Introduction

  • Pourquoi Ansible?
  • Concepts & Termes
  • Agentless Architecture
  • Inventory
    • Static & Dynamique
    • Host & Group Patterns

Module: Deploying with Ansible

  • Installation de Ansible
  • Fichiers de configuration YAML
  • Playbooks
    • Modules Ansible
    • Commandes Ad-Hoc
    • Inventory Dynamique
      • Scripted
      • Plugins

TP

  • Deploiement Ansible
  • Commandes Ad-Hoc
  • Inventories Dynamiques

Module: Playbooks

  • Structure de Playbook
  • Ordre d’execution - Host & Task
  • Categories de Modules
    • Command
    • File Manipulation
    • Network Modules
    • Packaging Modules
    • System Storage
    • Account Management
    • Security
    • Services

TP

  • Playbook Basiques
  • Playbooks: Command Modules
  • Playbooks: Common Modules

Module: Variables

  • au runtime
  • dans Playbooks
  • register task output, debug module
  • dans inventory: host_vars, global_vars
  • Scope & precedence
  • Facts & magic variables
  • dans included files, roles
  • Output: callback plugins

TP

  • Variables & Facts
  • Inclusions

Module: Jinja Templating

  • Jinja Expressions
  • Builtin.template module
  • Filtres
  • Methodes
  • Conditionels
  • Lookup plugins
  • Structures de Control

TP

  • Templates Jinja

Module: Control Structures

  • Loops & Variables (with)
  • Conditionels (when)
  • Handlers
  • Tags
  • Error Handling

TP

  • Task Control

Module: Roles

  • Usage
  • Creation de Roles
  • Deploiement de Roles avec Ansible Galaxy

TP

  • Conversion Playbooks a Roles
  • Creation de Roles from Scratch
  • Ansible Galaxy Roles|

2 - AN-003-FR Ansible Appliqué

Durée: 3 jours

Cette formation proposée sous forme de formation de 3 jours, ou 6 demi-journées, offre une introduction complète à la gestion de configuration sous Ansible.

Note: Cette formation existe également sous forme de formation de 2 jours « AN-002-EN Introduction à Ansible » excluant les modules “Ansible Vault” et “Network Automation”.

Cette formation comprend beaucoup de pratique ainsi que de théorie. Tous les exercices pratiques seront effectués sur des machines virtuelles et des conteneurs Linux.

Les étudiants apprécieront la facilité avec laquelle les logiciels peuvent être installés et maintenus de manière fiable, reproductible et réutilisable au sein des équipes grâce à la nature largement déclarative des Playbooks et rôles Ansible. Les playbooks peuvent être réexécutés, garantissant des résultats reproductibles en raison de la nature idempotente d’Ansible.|

Pre-requisites

  • Soyez à l’aise en travaillant en ligne de commande et en éditant des fichiers
  • Notions de base de Cloud, Linux, Conteneurs
  • Utilisation d’un client ssh, par ex. openssh sous Linux, macOS ou Windows (ou Putty)|

Compris

  • Supports de cours et laboratoires : 50 % de travaux pratiques, 50 % de présentation et de démonstrations
  • Accès à un environnement de laboratoire temporaire
  • accès à un document évolutif regroupant diverses ressources d’apprentissage|

Objectifs

  • Apprenez à utiliser Ansible pour effectuer la configuration logicielle et la maintenance des machines/appareils
  • Découvrez les nombreux modules intégrés, collections de modules et rôles pour Ansible
  • Découvrez les meilleures pratiques pour travailler avec Ansible|

Programme

Module: Introduction

  • Pourquoi Ansible?
  • Concepts & Termes
  • Agentless Architecture
  • Inventory
    • Static & Dynamique
    • Host & Group Patterns

Module: Deploying with Ansible

  • Installation de Ansible
  • Fichiers de configuration YAML
  • Playbooks
    • Modules Ansible
    • Commandes Ad-Hoc
    • Inventory Dynamique
      • Scripted
      • Plugins

TP

  • Deploiement Ansible
  • Commandes Ad-Hoc
  • Inventories Dynamiques

Module: Playbooks

  • Structure de Playbook
  • Ordre d’execution - Host & Task
  • Categories de Modules
    • Command
    • File Manipulation
    • Network Modules
    • Packaging Modules
    • System Storage
    • Account Management
    • Security
    • Services

TP

  • Playbook Basiques
  • Playbooks: Command Modules
  • Playbooks: Common Modules

Module: Variables

  • au runtime
  • dans Playbooks
  • register task output, debug module
  • dans inventory: host_vars, global_vars
  • Scope & precedence
  • Facts & magic variables
  • dans included files, roles
  • Output: callback plugins

TP

  • Variables & Facts
  • Inclusions

Module: Jinja Templating

  • Jinja Expressions
  • Builtin.template module
  • Filtres
  • Methodes
  • Conditionels
  • Lookup plugins
  • Structures de Control

TP

  • Templates Jinja

Module: Control Structures

  • Loops & Variables (with)
  • Conditionels (when)
  • Handlers
  • Tags
  • Error Handling

TP

  • Task Control

Module: Roles

  • Usage
  • Creation de Roles
  • Deploiement de Roles avec Ansible Galaxy

TP

  • Conversion Playbooks a Roles
  • Creation de Roles from Scratch
  • Ansible Galaxy Roles

Module: Optimisation

  • Types de Connection
  • Delegation
  • Parallelisme
  • Callback Plugins

TP

  • Optimization d’Ansible

Module: Secrets with Ansible Vault

  • Configuration Vault
  • Vault IDs
  • Utilisation de Vault

TP

  • Ansible Vault

Module: Network Automation

  • Exemples Simple de Module Reseau
  • Debogage de Modules Reseaux
  • Modules ios
  • Exemple de Modules Simple IOS|

WebAssembly TBD: Introduction to WebAssembly From ChatGPT: Jour 1: Introduction à WebAssembly (8 heures)

Module: C’est quoi WebAssembly? (1 heure)

Définition de WebAssembly (WASM) Historique du développement de WASM Enjeux liés à l’utilisation de WASM Avantages de WebAssembly

Module: Cloud Natif et WebAssembly (1 heure)

Introduction au cloud natif Intégration de WebAssembly dans les architectures cloud natives Exemples d’entreprises utilisant WASM dans des environnements cloud

Module: Overview de la Technologie (2 heures)

Gestion de la mémoire dans WebAssembly Isolation des exécutions Utilisations en navigateur Utilisations en ligne de commande Cas d’usage variés de WebAssembly

Module: Travaux Pratiques (2 heures)

Mise en place de l’environnement de développement WASM Exécution de premiers programmes WASM Exploration des outils de développement et des compilateurs

Jour 2: Modules WASM, Réseau et Outils (8 heures)

Module: Les Modules WebAssembly (2 heures)

Comprendre la structure des modules WASM Interaction avec les modules depuis d’autres langages Développement de modules WASM personnalisés

Module: Le Réseau et WebAssembly (2 heures)

Utilisation de WebAssembly dans le contexte réseau Exemples de communication entre modules WASM Cas d’usage spécifiques liés au réseau

Module: Outils et Runtimes pour WebAssembly (2 heures)

Exploration de wasmtime et d’autres runtimes Différents compilateurs pour WebAssembly Utilisation de WASI, WASIX, et WASI Preview2

Module: Travaux Pratiques (2 heures)

Utilisation des outils et runtimes présentés Expérimentation avec les différentes options de compilation Manipulation de modules WASM dans des environnements de test

Module: Bonus: Avancées et Futur de WebAssembly (1 heure)

Observabilité avec wasmedge et observesdk Utilisation de WebAssembly avec Docker, HashiCorp Nomad, Kubernetes, Fermyon Spin, Envoy et Open Policy Agent Perspectives sur l’avenir de WebAssembly

Module: Conclusion et Questions (1 heure)

Récapitulation des points clés Réponses aux questions des participants Remise de ressources supplémentaires pour approfondir les connaissances |

3 - TF-000-FR Introduction a Terraform (CORE)

Durée: 2 jours

Cette formation, proposée sous forme de formation de 2 jours, ou 4 demi-journées, présente aux étudiants les avantages de développer « Infrastructure as Code » avec Terraform.

L’intention est de suivre cette formation de 2 jours par une formation distincte d’une journée qui applique les concepts appris au fournisseur de cloud préféré du client (AWS, Azure, Google Cloud, Oracle) ou à un autre environnement virtualisé (Proxmox, OpenStack).

Note: Ces formations sont proposées sous forme de Terraform, mais peuvent également être dispensées sous forme de formations OpenTofu.

Cette formation initiale de 2 jours est la manière recommandée pour apprendre les bases de Terraform :

  • Il utilise principalement Docker ou des Providers locaux pour les exercices de base - Cela permet d’assimiler les concepts Terraform importants à un rythme accéléré

Terraform permet de gérer le déploiement de différents types d’infrastructures via le plugin « Provider » approprié - ce cours utilise le fournisseur Docker pour pouvoir expérimenter dix fois plus rapidement qu’en utilisant des Cloud Providers ou même des Hyperviseurs.

Les étudiants apprécieront la facilité avec laquelle les ressources d’infrastructure sont définies de manière déclarative - en utilisant HCL v2 - « HashiCorp Configuration Language » - permettant de créer, mettre à jour ou détruire des ressources de manière idempotente.

Il est recommandé de combiner cette formation de 2 jours avec une ou plusieurs des formations d’une journée spécifiques au prestataire suivantes :

  • TF-001-FR Terraform appliqué à (AWS)
  • TF-002-FR Terraform appliqué à (Azure)
  • TF-003-FR Terraform appliqué à (Google Cloud)
  • TF-004-FR Terraform appliqué à (Oracle Cloud)
  • TF-005-FR Terraform appliqué à (OpenStack)
  • TF-006-FR Terraform appliqué à (Proxmox)|

Pre-requisites

  • Soyez à l’aise en travaillant en ligne de commande et en éditant des fichiers
  • Notions de base de Cloud, Linux, Conteneurs
  • Utilisation d’un client ssh, par ex. openssh sous Linux, macOS ou Windows (ou Putty)|

Included

  • Supports de cours et laboratoires : 50 % de travaux pratiques, 50 % de présentation et de démonstrations
  • Accès à un environnement de laboratoire temporaire
  • Accès à un document évolutif couvrant diverses ressources d’apprentissage Terraform|

Objectives

  • Apprenez à utiliser Terraform pour mettre en place diverses ressources, de manière déclarative
  • Apprenez les nombreuses subtilités de Terraform/HCLv2 pour écrire des configurations déclaratives de qualité Sachez où trouver des informations sur les autres fournisseurs, modules pour Google Cloud, Azure etc…|

Programme

Module: Introduction to Infrastructure as Code

  • HashiCorp “free to use” ecosystem
  • Infrastructure as Code, Config Management, Idempotence
  • Terraform
  • Installation

Module: Terraform Workflow

  • The plan
  • Applying and re-applying plans
  • Destroying resources
  • Various sub-commands

Module: HCL Configurations

  • Providers
  • Variables
  • Resources

Module: Variable types

  • Variables,passing values to the configuration, Locals
  • Basic and complex types
  • Functions

Module: Control Structures

  • Count, ternary, for_in, for_each
  • Dynamic Blocks
  • Templates

Module: Terraform Registry

  • Provider Data Sources
  • Modules
  • Using Modules
  • Writing your own Modules

Module: In Practice

  • Variable validation
  • Terraform Test Framework
  • Terraform Docs
  • Debugging
  • 3rd-party tools

Module: State

  • Local State
  • Using “remote state” for working in teams

Module: Importing foreign ressources

  • terraform import
  • Import blocks

Module: In Production

  • Provisioners (Local-exec, File, Remote-exec)
  • Terraform Best practices
  • Tooling: Linters, scanners, testers
  • Terraform test

Module: HashiCorp Terraform Eco-system

  • HCP Terraform & Enterprise
  • Terraform CDK
  • Waypoint, Boundary
  • Terraform Certification |

4 - TF-001-FR Terraform appliqué à (AWS)

Durée: 1 jour

Cette formation proposée en formation d'1 journée, ou 2 demi-journées, applique au Cloud AWS les principes de Terraform déjà appris dans la formation « TF-000-EN Terraform Introduction (CORE) » de 2 jours aux ressources.

Cette formation sera davantage orientée vers la pratique que vers la théorie : elle n’est pas destinée à enseigner AWS, mais à expérimenter l’application de Terraform aux ressources AWS.

Note: Suivre « TF-000-FR Terraform Introduction (CORE) » est un prérequis pour cette formation spécifique au cloud.

Terraform permet de gérer le déploiement de différents types d’infrastructures via le plugin « Provider » approprié - ce cours utilise le fournisseur AWS permettant de gérer de nombreuses ressources cloud AWS.

Les étudiants apprécieront la facilité avec laquelle les ressources d’infrastructure sont définies de manière déclarative permettant de créer, de mettre à jour ou de détruire des ressources de manière idempotente.

Terraform utilise HCL v2 – « HashiCorp Configuration Language » – pour définir les ressources à créer pour 1 ou plusieurs fournisseurs.

Note: le même cours est disponible pour d’autres fournisseurs|

Pre-requisites

  • Soyez à l’aise en travaillant en ligne de commande et en éditant des fichiers
  • Notions de base de Cloud, Linux, Conteneurs
  • Utilisation d’un client ssh, par ex. openssh sous Linux, macOS ou Windows (ou Putty)|

Compris

  • Supports de cours et laboratoires : 50 % de travaux pratiques, 50 % de présentation et de démonstrations
  • Accès à un environnement de laboratoire temporaire
  • Accès à un document évolutif couvrant diverses ressources d’apprentissage Terraform |

Objectives

  • Apprenez à utiliser Terraform pour mettre en place diverses ressources AWS, de manière déclarative
  • Apprenez à utiliser les modules, sources de données et outils spécifiques à AWS |

Note: les ressources spécifiques AWS suivantes sont proposées, mais peuvent être adaptées aux besoins des clients.

Programme

Module: Review

  • Infrastructure as Code principles
  • Terraform & OpenTofu workflows

Module: Working with Containers

  • Managing AWS ECS containers with Terraform
  • Using Data Sources with AWS ECS

Module: Working with VMs

  • Managing AWS EC2 virtual machines with Terraform
  • Using Data Sources with AWS EC2

Module: Working with modules

  • Terraform registry: Working with existing terraform modules for AWS
  • Writing modules for AWS: Creating clusters of VMs

Module: Templates

  • Creating useful templates (ssh_config, ansible inventory, reports)

Module: In Practice

  • Variable validation
  • Debugging
  • 3rd-party tools

Module: State

  • Local State
  • Using AWS/S3+DynamoDB for “remote state”

Module: Importation of foreign ressources

  • Importation of AWS resources
  • Move of AWS resources

Module: Auto-scaling & Load-Balancing

  • AWS EC2 ASG - Autoscaling Groups
  • AWS EC2 ALB - Application Load Balancer

Module: Other AWS resources

  • Lambda, VPC, EIP, S3, EBS, IAM, RDS

Module: In Production

  • Provisioners (Local-exec, File, Remote-exec)
  • Provider Aliases|

5 - TF-002-FR Terraform appliqué à (Azure)

Durée: 1 jour

Cette formation proposée en formation d'1 journée, ou 2 demi-journées, applique au Cloud Azure les principes de Terraform déjà appris dans la formation « TF-000-EN Terraform Introduction (CORE) » de 2 jours aux ressources.

Cette formation sera davantage orientée vers la pratique que vers la théorie : elle n’est pas destinée à enseigner Azure, mais à expérimenter l’application de Terraform aux ressources AWS.

Note: Suivre « TF-000-FR Terraform Introduction (CORE) » est un prérequis pour cette formation spécifique au cloud.

Terraform permet de gérer le déploiement de différents types d’infrastructures via le plugin « Provider » approprié - ce cours utilise le fournisseur Azure permettant de gérer de nombreuses ressources cloud Azure.

Les étudiants apprécieront la facilité avec laquelle les ressources d’infrastructure sont définies de manière déclarative permettant de créer, de mettre à jour ou de détruire des ressources de manière idempotente.

Terraform utilise HCL v2 – « HashiCorp Configuration Language » – pour définir les ressources à créer pour 1 ou plusieurs fournisseurs.

Note: le même cours est disponible pour d’autres fournisseurs|

Pre-requisites

  • Soyez à l’aise en travaillant en ligne de commande et en éditant des fichiers
  • Notions de base de Cloud, Linux, Conteneurs
  • Utilisation d’un client ssh, par ex. openssh sous Linux, macOS ou Windows (ou Putty)|

Compris

  • Supports de cours et laboratoires : 50 % de travaux pratiques, 50 % de présentation et de démonstrations
  • Accès à un environnement de laboratoire temporaire
  • Accès à un document évolutif couvrant diverses ressources d’apprentissage Terraform |

Objectives

  • Apprenez à utiliser Terraform pour mettre en place diverses ressources Azure, de manière déclarative
  • Apprenez à utiliser les modules, sources de données et outils spécifiques à Azure | Note: les ressources spécifiques Azure suivantes sont proposées, mais peuvent être adaptées aux besoins des clients.

Programme

Module: Review

  • Infrastructure as Code principles
  • Terraform & OpenTofu workflows

Module: Working with Containers

  • Managing Azure ACI containers with Terraform
  • Using Data Sources with Azure ACI

Module: Working with VMs

  • Managing Azure virtual machines with Terraform
  • Using Data Sources with Azure VMs

Module: Working with modules

  • Terraform registry:: Working with existing terraform modules for Azure
  • Writing modules for Azure: Creating clusters of VMs

Module: Templates

  • Creating useful templates (ssh_config, ansible inventory, reports)

Module: In Practice

  • Variable validation
  • Debugging
  • 3rd-party tools

Module: State

  • Local State
  • Using Azure Blob Storage for “remote state”

Module: Importation of foreign ressources

  • Importation of Azure resources
  • Move of Azure resources

Module: Auto-scaling & Load-Balancing

  • Azure VM ScaleSets
  • terraform-azurerm-loadbalancer

Module: Other Azure resources

  • Azure functions, Azure VPC, Azure Public IP, Blob Storage, AKS

Module: In Production

  • Provisioners (Local-exec, File, Remote-exec)
  • Provider Aliases|

Ansible

6 - K8S-002-FR Administration Kubernetes

Durée: 4 jours

Objectifs

L’objectif de cette formation est d’acquérir les bases sur l’administration de Kubernetes, dans le but de:

  • Apprendre sur l’orchestration des conteneurs
  • Maîtriser l’installation, configuration d’une plateforme Kubernetes
  • Connaître les principaux types d’objets gérés par Kubernetes
  • Comprendre comment déployer sur Kubernetes
  • Savoir déboguer et observer les applications ainsi que le cluster Kubernetes même

La formation serait constituée d’environ 50% théorie et 50% travaux pratiques.

Note: Bien que la formation peut-etre une bonne préparation pour l’examen CKA, elle peut être associée a la formation “K8S-004-FR Preparation a l’examen CKA” C’est une journée dédiée aux compétences nécessaires pour réussir la certification. Nous conseillons de faire une pause entre les deux formations.

Acquis à l’issue de la formation Le participant à cette formation aura acquis des bases pour administrer une plateforme Kubernetes, en particulier:

  • Installation, Configuration, Mise a jour d’un Cluster Kubernetes
  • Comment déployer et mettre à jour des applications sur Kubernetes
  • Comment exposer des applications
  • Déploiement des volumes de données externes
  • Observation, Débogage d’applications, du cluster
  • La sécurité, Les meilleurs pratiques

Public concerné et pré-requis

Cette formation vise des ingénieurs qui débutent avec l’administration de Kubernetes. Les participants doivent venir avec leur propre PC et avoir accès à Internet:

  • via un navigateur pour se connecter à des sites hébergés chez AWS
  • ainsi qu’à des VMs EC2 hébergées chez AWS par SSH: moyens de connexion alternatif peuvent être fournis Pour tirer pleinement parti de cette formation, les participants:
  • doivent être à l’aise pour travailler avec la ligne de commande
  • avoir de notions de processus Linux
  • avoir de notions de conteneurs et Docker
  • Disposer d’un client SSH tel que le client openssh sur Linux, macOS, WSL ou Putty sur Windows

En cas de manquement il est conseillé de d’abord suivre la formation “LIN-001-FR - Introduction a Linux - en ligne de commande / shell” ou equivalent.

Evaluation

En début de formation, nous vérifions l’expérience dans la domaine ainsi que les attentes de chaque participant. Si en mode Qualiopi En début de formation, une auto évaluation est effectuée pour évaluer le niveau, ainsi que les attentes de chaque participant. Ainsi nous pouvons organiser au mieux les différents groupes de travail. Le formateur effectue ensuite une évaluation continue à l’aide d’exercices pratiques.

À la fin de la formation, les participants auto-évaluent leur progression, et le formateur fournit une évaluation ainsi que des axes d’amélioration. En option, un accompagnement post-formation peut être proposé, faisant l’objet d’un devis complémentaire.

Programme

Proposé sur 4 jours, mais peut-être étendu a 5 jours avoir plus de temps pour les travaux pratiques et ainsi mieux assimiler les concepts et la pratique. A partir d’un exemple concret, nous regarderons les aspects suivants

Module: Principes et Concepts de Kubernetes

  • Reprise de principes de Conteneurs
  • Pourquoi les Pods - comparaison avec les conteneurs ?
  • Lancer et Interagir avec un Pod (ports, exec, logs)
  • Résilience à l’échelle “a la Kubernetes”
  • Principes de bases: couplage faibles, état désiré, Namespaces, Pods, Controllers, Services
  • Installation d’un cluster Kubernetes (kubeadm) et CNI (Cilium)
  • Le modele reseau
  • Kubeconfig
  • Processus de boot, static pods

Module: Déploiement d’applications avec kubernetes

  • L’architecture
  • Pods - init container, multi-container patterns
  • Gestion de ressources par Container, par Namespace
  • API Kubernetes - API groups, explain, accés API
  • Workload controllers
  • Mise à jour d’applications
  • Stockage: basic, par PV/PVC, dynamic

Module: Extensions/outils, Exposer des applications

  • ConfigMaps: creation, utilisation, mise à jour
  • Secrets: création, utilisation, mise à jour
  • Outis d’extension - Helm, CRDs, Operators
  • Exposer des applications
    • Services
    • Ingress controller
    • Gateway API
  • ServiceMesh

Module: Observabilité, Débogage, Sécurité, HA

  • Observabilité
    • MetricsServer, Dashboard
    • Logging - EFK, Loki
    • Metrics - Prometheus/grafana
  • Troubleshooting
    • Application troubleshooting avec challenge
  • Securite
    • SecurityContext & PodSecurityStandard
    • APIServer controles - Authentication, Authorisation, Admission Control
    • Policy Engines: OPA, Kyverno
    • Networkpolicies
  • Cluster HA
  • Conseils pour l’examen CKA|

7 - K8S-003-FR Development avec Kubernetes

Durée: 3 jours

Objectifs

L’objectif de cette formation est d’acquérir les bases de l’utilisation et développement d’applications sur Kubernetes, dans le but de:

  • Apprendre sur l’orchestration des conteneurs
  • Maîtriser la création et hébergement d’images d’applications
  • Comment développer les applications en suivant les principes du Cloud Natif
  • Connaître les principaux types d’objets gérés par Kubernetes
  • Comprendre comment déployer sur Kubernetes
  • Savoir déboguer et observer les applications sur Kubernetes
  • Comment sécuriser ses applications, Les meilleurs pratiques

La formation serait constituée d’environ 50% théorie et 50% travaux pratiques.

Note: Bien que la formation peut-etre une bonne préparation pour l’examen CKAD, elle peut être associée a la formation “K8S-005-FR Preparation a l’examen CKAD” C’est une journée dédiée aux compétences nécessaires pour réussir la certification. Nous conseillons de faire une pause entre les deux formations.

Acquis à l’issue de la formation Le participant à cette formation aura acquis des bases pour administrer une plateforme Kubernetes, en particulier:

  • Comment créer des images de conteneurs pour les applications
  • Comment héberger des images de conteneurs
  • Comment déployer et mettre à jour des applications sur Kubernetes
  • Comment exposer des applications
  • Déploiement des volumes de données externes
  • Observation, Débogage d’applications

Public concerné et pré-requis

Cette formation vise des ingénieurs qui débutent avec le développement d’applications pour Kubernetes. Les participants doivent venir avec leur propre PC et avoir accès à Internet:

  • via un navigateur pour se connecter à des sites hébergés chez AWS
  • ainsi qu’à des VMs EC2 hébergées chez AWS par SSH: moyens de connexion alternatifs peuvent être fourni Pour tirer pleinement parti de cette formation, les participants:
  • doivent être à l’aise pour travailler avec la ligne de commande
  • avoir de notions de processus Linux
  • avoir de notions de conteneurs et Docker
  • Disposer d’un client SSH tel que le client openssh sur Linux, macOS, WSL ou Putty sur Windows

En cas de manquement il est conseillé de d’abord suivre la formation “LIN-001-FR - Introduction a Linux - en ligne de commande / shell” ou equivalent.

Evaluation

En début de formation, nous vérifions l’expérience dans la domaine ainsi que les attentes de chaque participant. Si en mode Qualiopi: En début de formation, une auto évaluation est effectuée pour évaluer le niveau, ainsi que les attentes de chaque participant. Ainsi nous pouvons organiser au mieux les différents groupes de travail. Le formateur effectue ensuite une évaluation continue à l’aide d’exercices pratiques.

À la fin de la formation, les participants auto-évaluent leur progression, et le formateur fournit une évaluation ainsi que des axes d’amélioration. En option, un accompagnement post-formation peut être proposé, faisant l’objet d’un devis complémentaire.

Programme

Proposé sur 3 jours, mais peut-être étendu a 4 jours avoir plus de temps pour les travaux pratiques et ainsi mieux assimiler les concepts et la pratique. A partir d’un exemple concret, nous regarderons les aspects suivants

Module: Principes et Concepts de Kubernetes

  • Reprise de principes de Conteneurs
  • Pourquoi les Pods - comparaison avec les conteneurs ?
  • Lancer et Interagir avec un Pod (ports, exec, logs)
  • Résilience à l’échelle “a la Kubernetes”
  • Principes de bases: couplage faibles, état désiré, Namespaces, Pods, Controllers, Services
  • Installation d’un cluster Kubernetes (kubeadm) et CNI (Cilium)
  • Le modele reseau
  • Kubeconfig
  • Processus de boot, static pods

Module: Déploiement d’applications avec kubernetes

  • L’architecture
  • Pods - init container, multi-container patterns
  • Gestion de ressources par Container, par Namespace
  • API Kubernetes - API groups, explain, accés API
  • Workload controllers
  • Mise à jour d’applications
  • Stockage: basic, par PV/PVC, dynamic
  • ConfigMaps: creation, utilisation, mise à jour
  • Secrets: création, utilisation, mise à jour
  • Installation et paquetage d’applications avec Helm

Module: Exposer des applications, Observabilité, Débogage, Sécurité

  • Exposer des applications
    • Services
    • Ingress controller
    • Gateway API
  • Observabilité
    • MetricsServer
    • Logging
    • Prometheus/grafana
  • Débogage
    • Application troubleshooting avec challenge
  • Securite
    • SecurityContext & PodSecurityStandard
    • APIServer controles - Authentication, Authorisation, Admission Control
    • Networkpolicies
  • Conseils pour l’examen CKAD|

8 - K8S-011-FR Introduction a Helm

Durée: 1 jour

Objectifs

L’objectif de cette formation est de permettre aux participants d’acquérir les bases de l’utilisation de l’outil Helm pour créer et installer des Charts d’applications sous Kubernetes. Les principaux objectifs sont les suivants :

  • Faciliter la gestion d’applications sur Kubernetes
  • Personnaliser les applications au moment de leur installation

La formation est équilibrée entre la théorie (50%) et les travaux pratiques (50%).

Acquis à l’issue de la formation À la fin de la formation, les participants auront acquis des compétences pour administrer les applications sur une plateforme Kubernetes en utilisant Helm, notamment :

  • Installation, configuration, mise à jour d’une application Kubernetes
  • Création et test d’un chart Helm

Public concerné et pré-requis

Cette formation vise des ingénieurs qui ont déjà une première expérience de développement d’applications pour et utilisation d’un cluster Kubernetes.

Les participants doivent venir avec leur propre PC et avoir accès à Internet:

  • via un navigateur pour se connecter à des sites hébergés chez AWS
  • ainsi qu’à des VMs EC2 hébergées chez AWS par SSH: moyens de connexion alternatifs peuvent être fourni Pour tirer pleinement parti de cette formation, les participants:
  • doivent être à l’aise pour travailler avec la ligne de commande
  • avoir de notions de processus Linux
  • avoir de notions de conteneurs et Docker
  • Disposer d’un client SSH tel que le client openssh sur Linux, macOS, WSL ou Putty sur Windows

En cas de manquement il est conseillé de d’abord suivre la formation “LIN-001-FR - Introduction a Linux - en ligne de commande / shell” ou equivalent.

Evaluation

En début de formation, nous vérifions l’expérience dans la domaine ainsi que les attentes de chaque participant. Si en mode Qualiopi: En début de formation, une auto évaluation est effectuée pour évaluer le niveau, ainsi que les attentes de chaque participant. Ainsi nous pouvons organiser au mieux les différents groupes de travail. Le formateur effectue ensuite une évaluation continue à l’aide d’exercices pratiques.

À la fin de la formation, les participants auto-évaluent leur progression, et le formateur fournit une évaluation ainsi que des axes d’amélioration. En option, un accompagnement post-formation peut être proposé, faisant l’objet d’un devis complémentaire.

Programme

A partir d’un exemple concret, nous regarderons les aspects suivants

Module: Introduction à Helm & Concepts de base

  • Présentation de Helm : Qu’est-ce que c’est et pourquoi l’utiliser?
  • Comparaison de Helm Charts avec les alternatifs (k8s yaml, kustomize)
  • Charts : Structure et composition
  • Helm Repositories : ArtifactHub, Chart Museum, Repositories
  • Comment installer une application avec Helm

TP: Installation

  • Creation de cluster Kubernetes via script simplifié
  • Installation de Helm
  • Recherche d’un Repo & d’un Chart via l’ArtifactHub et le CLI Helm
  • Installation du Chart sur un cluster Kubernetes

Module: Helm Commands et Workflow

  • Structure d’un Chart
  • Commandes Helm : helm install, helm upgrade, helm rollback
  • Utilisation de valeurs pour personnaliser les installations
  • Mise à jour d’une application
  • Fonctions de template, variables, conditionnels

TP: Création d’un Chart simple

  • Récupération d’un chart pour examiner sa structure
  • Création d’une structure de base de Chart.
  • Installation personnalisé d’un Chart avec l’option ‘–set’
  • Installation personnalisé d’un Chart avec ‘-f values.yaml’
  • Utilisant de l’option dry-run

Module: Helm Advanced

  • Mise à jour d’une application
  • Quelques commandes helm bien utiles
  • Meilleurs Pratiques de Helm
  • Utilisation des hooks pre-/post-operation
  • Tests de Charts
  • Emballage et dépendances

TP: Mise à jour et Rollback

  • Gestion des releases avec Helm.
  • Mise à jour d’un Chart avec de nouvelles valeurs.
  • Exécution de rollbacks pour revenir à une version précédente.
  • Tests des Charts

Module: Questions et Réponses, Feedback

  • Répondre aux questions des participants.
  • Recueillir des commentaires pour améliorer la formation.|

Terraform

9 - K8S-020-FR Preparation a l’examen CKA

Durée: 1 jour

Objectifs

L’objectif de cette formation d’une journée est de préparer pour passer l’examen “CKA - Certified Kubernetes Administrator” de la Linux Foundation.

Les stagiaires doivent déjà maîtriser la théorie et la pratique de Kubernetes - ayant suivi le “K8S-002-FR Administration Kubernetes” par exemple ou équivalent.

Les stagiaires seraient mis en situation avec des tâches à accomplir - voir plus bas pour plus de détails.

La formation serait constituée principalement (90%) travaux pratiques.

Acquis à l’issue de la formation Le participant à cette formation serait en bon mesure de passer la certification

Public concerné et pré-requis

Cette formation vise des ingénieurs qui ont déjà une première expérience d’administration de Kubernetes. Note: De suivre K8S-002-FR et K8S-004-FR seule n’est pas suffisant pour passer l’examen - il faut pratiquer. Nous fournissons des astuces, la pratique et des ressources pour bien préparer la certification. Les participants doivent venir avec leur propre PC et avoir accès à Internet:

  • via un navigateur pour se connecter à des sites hébergés chez AWS
  • ainsi qu’à des VMs EC2 hébergées chez AWS par SSH: moyens de connexion alternatifs peuvent être fourni Pour tirer pleinement parti de cette formation, les participants:
  • doivent être à l’aise pour travailler avec la ligne de commande
  • avoir de notions de processus Linux
  • avoir de notions de conteneurs et Docker
  • Disposer d’un client SSH tel que le client openssh sur Linux, macOS, WSL ou Putty sur Windows

En cas de manquement il est conseillé de d’abord suivre la formation “LIN-001-FR - Introduction a Linux - en ligne de commande / shell” ou equivalent.

Evaluation

En début de formation, nous vérifions l’expérience dans la domaine ainsi que les attentes de chaque participant.

Programme

Au longue de la journée, les stagiaires serait mise en situation avec des tâches à accomplir - similaire à ceux rencontrés en examen - du genre

  • Implémenter un scénario
    • Un déploiement ou les Pods accède à un ConfigMap monté en Volume
    • Un DaemonSet ou les Pods accède à un Secret par des variables d’environnement
    • Empêcher des Pods en Namespace ‘frontend’ à communiquer directement avec des Pods du Namespace ‘backend’
  • Déboguer des scénarios
    • un Service qui ne répond pas aux requêtes, ou de façon intermittent
    • Un Pod qui ne démarre pas, ou un Conteneur qui redemarre sans cesse
    • kubectl qui fait timeout|

10 - K8S-021-FR Preparation a l’examen CKAD

Durée: 1 jour

Objectifs

L’objectif de cette formation d’une journée est de préparer pour passer l’examen “CKAD - Certified Kubernetes Application Developer” de la Linux Foundation.

Les stagiaires doivent déjà maîtriser la théorie et la pratique de Kubernetes - ayant suivi le “K8S-003-FR Development avec Kubernetes” par exemple ou équivalent.

Les stagiaires seraient mis en situation avec des tâches à accomplir - voir plus bas pour plus de détails.

La formation serait constituée principalement (90%) travaux pratiques.

Acquis à l’issue de la formation Le participant à cette formation serait en bon mesure de passer la certification

Public concerné et pré-requis

Cette formation vise des ingénieurs qui ont déjà une première expérience de développement d’applications pour et utilisation d’un cluster Kubernetes. Note: De suivre K8S-003-FR et K8S-005-FR seule n’est pas suffisant pour passer l’examen - il faut pratiquer. Nous fournissons des astuces, la pratique et des ressources pour bien préparer la certification.

Les participants doivent venir avec leur propre PC et avoir accès à Internet:

  • via un navigateur pour se connecter à des sites hébergés chez AWS
  • ainsi qu’à des VMs EC2 hébergées chez AWS par SSH: moyens de connexion alternatifs peuvent être fourni Pour tirer pleinement parti de cette formation, les participants:
  • doivent être à l’aise pour travailler avec la ligne de commande
  • avoir de notions de processus Linux
  • avoir de notions de conteneurs et Docker
  • Disposer d’un client SSH tel que le client openssh sur Linux, macOS, WSL ou Putty sur Windows

En cas de manquement il est conseillé de d’abord suivre la formation “LIN-001-FR - Introduction a Linux - en ligne de commande / shell” ou equivalent.

Evaluation

En début de formation, nous vérifions l’expérience dans la domaine ainsi que les attentes de chaque participant.

Programme

Au longue de la journée, les stagiaires serait mise en situation avec des tâches à accomplir - similaire à ceux rencontrés en examen - du genre

  • Implémenter un scénario
    • Un déploiement ou les Pods accède à un ConfigMap monté en Volume
    • Un DaemonSet ou les Pods accède à un Secret par des variables d’environnement
    • Empêcher des Pods en Namespace ‘frontend’ à communiquer directement avec des Pods du Namespace ‘backend’
  • Déboguer des scénarios
    • un Service qui ne répond pas aux requêtes, ou de façon intermittent
    • Un Pod qui ne démarre pas, ou un Conteneur qui redemarre sans cesse
    • kubectl qui fait timeout|

11 - LIN-001-FR Introduction a Linux - en ligne de commande

Durée: 1 jour

L’objectif de cette formation est d’acquérir les bases sur l’utilisation de Linux en ligne de commande, utilise fréquemment dans le monde de DevOps et Cloud.

Les compétences acquises seront applicables dans toute autre formation de ce catalogue, ainsi que dans les environnements:

  • Linux ou autres derivatives d’Unix
  • macOS
  • Windows en utilisant WSL, git bash ou autre

La formation traitera:

  • Qu’est-ce que c’est Unix, qu’est-ce que c’est Linux ?
  • Qu’est-ce que c’est le “Shell” ?
  • Etablir des connections remote a Linux
  • Systemes de fichiers, devices
  • Les commandes de base
  • Utilisateurs, groupes, processus, fichiers, stdin, stdout
  • Edition de fichiers en ligne de commande
  • Utilisation de VSCode avec Linux
  • La philosophy d’Unix
  • Pipelines, variables d’environnement
  • Installation d’outils

La formation serait constituée d’environ 50% théorie et 50% travaux pratiques.

Acquis à l’issue de la formation Le participant à cette formation aura acquis des bases pour travailler en ligne de commande dans une environnement Linux et suivre des tutoriaux en ligne

  • Travailler et editer des fichiers
  • Naviguer le systeme de fichiers
  • Les commandes Linux les plus utilises
  • Combinant les commandes dans les pipelines
  • Utilisation de varriables
  • Plus d’outlils Linux
  • Comment ecrire des scripts

Public concerné et pré-requis

Cette formation vise des ingénieurs qui débutent en Linux ou utilisation de ligne de commande. Les participants doivent venir avec leur propre PC et avoir accès à Internet:

  • via un navigateur pour se connecter à des sites hébergés chez AWS
  • ainsi qu’à des VMs EC2 hébergées chez AWS par SSH: moyens de connexion alternatif peuvent être fournis

Evaluation

En début de formation, nous vérifions l’expérience dans la domaine ainsi que les attentes de chaque participant. Si en mode Qualiopi En début de formation, une auto évaluation est effectuée pour évaluer le niveau, ainsi que les attentes de chaque participant. Ainsi nous pouvons organiser au mieux les différents groupes de travail. Le formateur effectue ensuite une évaluation continue à l’aide d’exercices pratiques.

À la fin de la formation, les participants auto-évaluent leur progression, et le formateur fournit une évaluation ainsi que des axes d’amélioration. En option, un accompagnement post-formation peut être proposé, faisant l’objet d’un devis complémentaire.

Programme

Cette formation est proposée avec une durée d’une journée mais peut-être étendue selon les besoins.

A partir d’exemple concrets, les aspects suivant seront couverts:

Module: C’est quoi un Système d’Exploitation ?

  • Revue des Systèmes d’Exploitation communs
  • Une histoire breve des Unixes et Linux
  • Distributions Linux (familles), le noyau Linux
  • La philosophie Unix (Linux)
  • Le système de fichiers, disques, partitions, processus, utilisateurs, groupes, /proc, swap
  • Binaires, Librairies, Include files, Device files
  • Toute chose est un fichier

Module: Introduction a Linux

  • Se logguer
  • Shells (bash, fish, zsh), historique du shell
  • Navigation du systeme de fichiers (cd, ls, pwd, df, du, tree, find)
  • Commandes de base (id, whoami, cat, touch, mv, cp, rm, ps, sleep)
  • variables, variables d’environnement, aliases, $PATH
  • environnement graphique

Module: Utilisation de Linux

  • Edition de fichier avec vi (vi, vim, neovim), emacs, nano …
  • Edition de ligne de command
  • pages man
  • Connectiion avec VSCode
  • VSCode et le Remote Shell extension
  • VSCode extensions

Module: Plus de Commandes Linux

  • manipulation de texte (sed, awk, perl, tac, head, tail, tr, sort, uniq, diff)
  • plus de commandes (tee, xargs, pstree, wc)
  • Pipes, redirection, stdin, stdout, signals, kill
  • Quotation dans le shell
  • Expressions regular, Globbing
  • rsync, mkdir, rmdir, top, tmux

Module: Ecrire des scripts

  • Utilisation de boucles (for, while, until)
  • codes d’erreur
  • Utilisation de pipes
  • Changer d’interpreter avec la notation Shebang
  • Heredocs

Module: Gestion de packets

  • Installation et gestion d’outils (avec apt, apt-get, dpkg)
  • Listi, supprime ou mettres a jour des outils
  • Archiviage et compression de fichiers (zip, tar, xz)
  • System services

Module: Virtualization

  • Virtualization (kvm, virtualbox, proxmox)
  • Conteneurs (LXC, Docker, Podman)
  • Orchestration de conteneurs (Docker Swarm, Kubernetes, AWS ECS)|

Kubernetes