Cette formation offre une introduction à Kubernetes et à la façon de déployer une application autonome et multi-tiers. Vous en apprendrez plus sur ConfigMaps et Secrets, et comment utiliser Ingress.
À la fin de la formation, les SysOps et DevOps, les développeurs, auront une solide compréhension de l’architecture et des blocs de construction dans Kubernetes, et pourront rapidement l’utiliser en production.
Le formateur reprend ici le canevas de la formation k8s-101 (niveau intermédiaire).
Résumé
Logiciel : Kubernetes
Durée : 21 heures ou 28 heures selon demande
Objectifs :
apprendre les concepts de base de gestion de conteneurs avec Kubernetes
comprendre son architecture et les problèmes qu’il résout
assimiler les modèles de déploiement et de mise à l’échelle qu’il utilise
acquérir la pratique nécessaire pour aider vos équipes de développement, et/ou opération, à transformer votre infrastructure vers Kubernetes et les modèles cloud natifs
simplifier l’orchestration des containers logiciels et développer votre utilisation de Kubernetes sans ajouter de complexité à l’infrastructure.
Public : administrateurs Systemes, SysOps, CloudOps, DevOps voire Développeurs
Prérequis : avoir une bonne connaissance d’une distribution GNU+Linux et connaître les principes de la conteneurisation.
Méthodes mobilisées : une très large part est accordée à la pratique. Des apports théoriques viennent consolider la pratique. Des exercices sont proposés aux stagiaires, qui peuvent les adapter en fonction de leurs objectifs. Les échanges entre les participants enrichissent les enseignements et leur mise en pratique.
Modalités et délais d’accès : sur inscription préalable au minimum 1 semaine avant le début de la formation selon les disponibilités du formateur.
Modalités d’évaluations : une évaluation du niveau des stagiaires est réalisée avant l’entrée en formation par téléphone ou au moyen d’un questionnaire. Évaluation des acquis et de la satisfaction en fin de formation.
Accessibilité aux personnes en situation de handicap ou présentant des difficultés d’apprentissage : toutes nos formations sont accessibles aux personnes en situation de handicap, qu’il soit moteur, visuel, auditif ou cognitif ; quelles qu’en soient les particularités.
Nous pouvons proposer des solutions de compensation de nos prestations en adaptant les moyens pédagogiques, techniques et d’encadrement. Nos locaux sont en rez-de-chaussée avec des places de parkings extérieures juste devant l’entrée du bâtiment. Aussi, merci de nous informer de vos besoins d’adaptation ; les échanges peuvent se faire et rester en toute confidentialité.
Taux de satisfaction 2i2l : 100 % des stagiaires sont "très satisfaits" ou "satisfaits" à l’issue de leur formation.
Tarif : pour une demande de formation interne, nous consulter.
Présentation
Kubernetes (communément appelé « K8s2 ») est un système open source qui vise à fournir une « plate-forme permettant d’automatiser le déploiement, la montée en charge et la mise en œuvre de conteneurs d’application sur des grappes de serveurs ». Il fonctionne avec toute une série de technologies de conteneurisation, et est souvent utilisé avec Docker. Il a été conçu à l’origine par Google, puis offert à la Cloud Native Computing Foundation. [1]
le site officiel
la documentation
la forge
la licence
l’article Kubernetes sur Wikipedia
Programme
L’historique de l’architecture logicielle
comprendre une application monolithique
comprendre une application en micro-services
connaître les containers
connaître les orchestrateurs de containers
identifier quelques orchestrateurs de containers du marché
déployer un orchestrateur de containers
L’application Kubernetes
connaître les fonctionnalités de Kubernetes
lister les fonctionnalités orientées application
découvrir l’architecture d’un cluster Kubernetes
configurer API Server
exécuter Scheduler
contrôler Kube-Controller Manager
déployer ETCD (base de données Key-Value)
diriger Worker node (minion)
initialiser et mettre à niveau Kubelet
initialiser Kube-proxy
gérer un réseau dans un pod
gérer les communications externes
L’installation d’un cluster Kubernetes
connaître les différentes configurations de cluster
apprendre à utiliser les outils d’installation de kubernetes (Ateliers)
exécuter un cluster mono-noeud avec Minikube
passer en revue les Block de contruction du cluster
maîtriser Kubectl proxy
administrer les Nodes (nœuds)
isoler vos applications avec les Namespaces et les contextes
Les objets Kubernetes
déployer les Pods
identifier les pods avec les labels et les selectors
spécifier ReplicationController
garantir nos charges de travail avec ReplicaSet
décrire et contrôler déploiements
identifier les stratégies de déploiements d’applications
comprendre les DaemonSets
gérer nos application avec état avec StatefulSet
configurer des volumes
Les services
identifier les types de services
configurer Kube-proxy
mettre en place les Traffic Policies (Atelier)
Comprendre les Services Discoveries
Le déploiement d’applications (Ateliers)
déployer de façon graphique à l’aide du Dashboard
déployer une application depuis ses sources (sous k3s)
déployer une application avec l’outil Helm
déployer une application avec kustomize
déployer une application avec un outil de Configuration Management (Ansible)
déployer d’une application avec un outil de CICD (ArgoCD)
La sécurisation du cluster Kubernetes
utiliser les autorités de certification
certifier l’authentification d’accès à l’API
comprendre le controle d’accès avec RBAC
mettre en place les Security Contexts & Pod Security Admission
Le monitoring et la traçabilité
interroger les métriques avec Prometheus
tracer vos microservices avec Jaeger
Les bonnes pratiques en production
configurer Liveness & Readiness
définir des Quota & Limits pour les ressources
mettre à l’échelle vos charges de travail avec Autoscalling
executer vos tâches de façon périodique avec les Jobs & Cronjobs