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 : nous pouvons proposer des solutions de compensation de nos prestations en adaptant les moyens pédagogiques, techniques et d’encadrement (les précisions).
Taux de satisfaction 2i2L : 96,34 % des stagiaires sont 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