Description
Administration de Kubernetes en production
- Configuration avancée de kubeadm
- Mise en place automatisée d'un cluster Kubernetes On-Premise
- Sécurisation d'un cluster Kubernetes On-Premise pour la production
- Mise en place de la haute disponibilité pour le Control-Plane
- Mise à jour automatisée en mode Rolling Update du Control-Plane et des noeuds Kubernetes
- Intégration continue dans le Cloud avec kind
- CRI: crictl, Docker et Containerd
Architecture de Kubernetes
- Les composants du Control Plane et des noeuds de travail:
- Philosophie Unix des composants
- Fonctionnement interne de l'API server: authentification, autorisation et Admission Control
- Extension du cycle de vie du serveur d'API avec les MutatingAdmissionWebhook et les ValidatingAdmissionWebhook
- Description de l'algorithme du Scheduler Kubernetes, prédicats et priorités
- Groupement implicite ou dynamique
- Interactions pilotées par les API
- Kube-proxy: fonctionnement avancé du réseau virtuel des Services
Gestion des utilisateurs et droits d'accès
- Authentification: certificats, tokens, et Dex
- Paramétrage du fichier Kubeconfig avec les Configuration Contexts
- Sécuriser le pilotage du cluster avec les autorisations RBAC
- Role et ClusterRole, RoleBinding et ClusterRoleBinding
- Création de RBAC simples et génériques pour piloter un cluster de production
Sécurité
- Sécuriser l'exécution des processus Unix dans les Pods
- SecurityContext: Mode privileged, Linux Capabilities, sécurisation des processus Unix
- Industrialiser la sécurité des Pods avec les PodSecurityPolicies
- Choix d'un plug-in réseau CNI sécurisé et performant
- Industrialiser la sécurité du réseau (L4) avec les NetworkPolicies (ingress et egress)
Qualité du service
- Utilisation optimale des ressources matérielles grâce aux Requests et Limits
- Classes de QoS: Guaranteed, Burstable et BestEffort
- Contrôle d'allocation des ressources par Namespace avec les ResourceQuota
- Contrôle d'allocation des ressources par Pod avec les LimitRange
Optimisation du scheduler
- Contrôle de la planification avec les Labels et les Affinités
- NodeSelector, NodeAffinity, PodAffinity, PodAntiAffinity
- Taints and Tolerations
Monitoring
- Automatiser le monitoring avec l'opérateur Prometheus
- Obtenir et agréger les métriques de votre cluster et de vos applications
- Visualiser et interagir avec vos données avec Grafana
- Automatiser le monitoring avec l'opérateur Prometheus
- Visualiser et interagir avec vos données avec Grafana
Objectifs
- Comprendre comment utiliser Kubernetes
- Découvrir l'architecture interne de Kubernetes
- Appréhender les principaux composants avancés de Kubernetes
- Savoir installer Kubernetes en production
- Paramétrer l'authentification et la gestion des utilisateurs
- Maîtriser les fonctionnements des réseaux virtuels Kubernetes
- Optimiser le monitoring du cluster Kubernetes
- Étendre et customiser les rouages de Kubernetes
Résultats
RNCP36061BC02 - Déployer en continu une application
Présentation d'un projet réalisé en amont de la session 0h30
En amont de la session, le candidat réalise un projet conformément à un cahier des charges et prépare un dossier de projet ainsi qu'un support de présentation de type diaporama. Lors de l'examen, il remet au jury le dossier de projet. Les détails relatifs à la structure et du contenu de ce dossier figurent ci-dessous dans la rubrique « Informations complémentaires concernant la présentation d'un projet réalisé en amont de la session ». Le jury dispose de 10 minutes pour prendre connaissance du dossier de projet, pendant ce temps-là le candidat prépare sa présentation dans une autre salle. Le candidat présente ensuite son projet au jury à l'aide d'une présentation de type diaporama. La présentation dure 20 minutes.
Entretien technique 0h20
Le jury questionne le candidat sur la base de son dossier de projet et de sa présentation, afin de s'assurer de la maîtrise des compétences couvertes par le projet. Un questionnement complémentaire lui permet d'évaluer les compétences qui ne sont pas couvertes par le projet.