Kubernetes

Formation Kubernetes avancé

Objectifs de la formation

À l’issue de la formation, le participant sera en mesure de :

  • 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

Programme de la formation

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
  • Virtuosité dans l’utilisation de kubectl pour la CKAD
  • 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 de la boucle de réconciliation et du Controller Kubernetes
  • Fonctionnement de etcd en mode haute-disponibilité
  • Fonctionnement interne de l’API server: authentification, autorisation et Admission Control
  • Gestion des contrôleurs d’admission
  • 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
  • Configuration déclarative
  • Groupement implicite ou dynamique
  • Interactions pilotées par les API
  • Cinématique de création d’un Pod à partir d’un Deployment
  • Kube-proxy: fonctionnement avancé du réseau virtuel des Services
  • Service discovery avec CoreDNS
  • Description de la structure interne d’un Pod et du conteneur d’infrastructure

Gestion des utilisateurs et droits d'accès

  • Authentification: certificats, tokens, et Dex
  • Paramétrage du fichier Kubeconfig avec les Configuration Contexts
  • Gestion des ServiceAccounts
  • 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é de 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

  • Objectifs de surveillance et de journalisation
  • Automatiser le monitoring avec l’opérateur Prometheus
  • Obtenir et agréger les métriques de votre cluster et de vos applications
  • AlertManager: gestion et routage des alertes
  • Visualiser et interagir avec vos données avec Grafana
Please login to get access to the quiz
Kubernetes, mise en œuvre (Prev Lesson)
(Next Lesson) Kubernetes, orchestration des conteneurs
Back to Kubernetes
Public

Développeurs, Architectes, Administrateurs systèmes, DevOps

Pré-requis

Avoir des connaissances de base sur Kubernetes, Unix, les conteneurs et le développement logiciel.