Public
Cette formation s'adresse aux développeurs, architectes, ingénieurs de production et administrateurs.
Pré-requis
Les participants doivent avoir des compétences en administration système Linux ainsi que des connaissances générales en conteneurisation (Docker ou CoreOS).
Objectifs
- Comprendre le rôle de Kubernetes et le concept d'orchestration.
- Installer Kubernetes et ses composants.
- Utiliser les fichiers YAML pour la description des ressources.
- Appliquer les bonnes pratiques pour travailler efficacement avec Kubernetes.
Programme
Introduction à Kubernetes:
- Évolution de la virtualisation vers la conteneurisation avec Docker/Kubernetes.
- Méthodes d'installation (MiniKube, On-Premise, etc.).
- Installation et configuration de Docker.
- Accès au cluster Kubernetes via l'interface en ligne de commande (kubectl), l'interface graphique (dashboard) et les APIs.
- Déploiement manuel et publication.
- Analyse détaillée des déploiements.
Fichiers descriptifs:
- Syntaxe YAML.
- Gestion de la scalabilité des déploiements.
- Stratégies de mise à jour et de rétrogradation sans interruption.
- Suppression d'un déploiement.
Architecture de Kubernetes:
- Composants du nœud maître : serveur API, planificateur, gestionnaire de contrôleur, etc.
- Architecture d'un nœud esclave : Kubelet, moteur de conteneur (Docker), Kube-proxy.
- Objets Kubernetes : volume, service, pod, etc.
- Différenciation entre objets stateful et stateless.
- Utilisation des déploiements.
Exploitation de Kubernetes:
- Utilisation de replicas et deployment pour la mise en cluster.
- Types de services.
- Utilisation des labels pour le déploiement sur des nœuds spécifiques.
- Affinité et anti-affinité.
- Gestion des Daemons sets, health checks, config maps et secrets.
- Utilisation des volumes persistants et des claims de volumes persistants.
Mise en production de Kubernetes:
- Configuration d'un frontal administrable avec Ingress.
- Gestion des limitations de ressources.
- Autoscaling et gestion des ressources.
- Découverte des services (env, DNS).
- Utilisation des namespaces et des quotas.
- Gestion des accès et de la haute disponibilité.
- Déploiement de conteneurs et gestion de la montée en charge.
Déploiement d'un cluster Kubernetes:
- Préparation des nœuds.
- Déploiement du master-nodeadm, du master-node et du worker-node.
- Configuration du Dashboard et du réseau.
