Version : 2024.01

Dernière mise-à-jour :

Préparation à la Certification K8S CKA

Contenu du Module

Préparation à la Certification K8s CKA.

Prérequis

Infrastructure Requise

Contenu de la Formation

Prérequis

Un poste (MacOS, Linux, Windows™ ou Solaris™),

Clavier AZERTY FR,

Chrome version 72+ ou Microsoft Edge version 79+ ou Firefox version 65+,

Un accès à Internet rapide (4G minimum) SANS passer par un proxy,

Accès débloqué aux ports 80 et 443 à : https://www.ittraining.team ainsi que ses sous-domaines.

Infrastructure Requise

VM	FQDN	IP	OS	Version	vCPUs	RAM (Mo)	HDD (Go)	User	MdP	MdP root
Gateway_10.0.2.40	gateway.ittraining.loc	10.0.2.40	Debian	11.8	4	4096	32 / 4 / 64	trainee	trainee	fenestros
CentOS_10.0.2.45	centos8.ittraining.loc	10.0.2.45	CentOS	8.5.2111	4	4096	500 / 4 / 64 / 32	trainee	trainee	fenestros
Kubemaster_10.0.2.65	kubemaster.ittraining.loc	192.168.56.2	Debian	9.13	4	4096	20	trainee	trainee	fenestros
Kubenode01_10.0.2.66	kubenode01.ittraining.loc	192.168.56.3	Debian	9.13	4	4096	20	trainee	trainee	fenestros
Kubenode02_10.0.2.67	kubenode02.ittraining.loc	192.168.56.4	Debian	9.13	4	4096	20	trainee	trainee	fenestros

Dans votre VirtualBox vous devez créer un Réseau privé hôte dénommé vboxnet0 ayant l'adresse 192.168.56.1/24.

Les VMs VirtualBox pré-configurées peuvent être téléchargées gratuitement ici :

Gateway_10.0.2.40,

CentOS_10.0.2.45,

Kubemaster_10.0.2.65,

Kubenode01_10.0.2.66,

Kubenode02_10.0.2.67.

Contenu de la Formation

DOF301 - Création de Clusters Kubernetes

L'Orchestration de Conteneurs

Présentation de Kubernetes (k8s)

Master

Nœuds (Minions)

LAB #1 - Création du Cluster Kubernetes avec des Machines Virtuelles

1.1 - Présentation

1.2 - Connexion à la Machine Virtuelle kubemaster

1.3 - Tester le Réseau

1.4 - Initialisation du Maître du Cluster

1.5 - Installation d'une Extension Réseau pour la Communication entre des PODs

1.6 - Connexion des Travailleurs au Maître

1.7 - K8s et la Haute Disponibilité

LAB #2 - Création du Cluster Kubernetes avec Minikube

2.1 - Présentation de Minikube

2.2 - Installation de Minikube

2.3 - Configuration de Minikube

2.4 - Installation de Docker

2.5 - Installation de kubectl

2.6 - La Commande minikube addons

2.7 - La Commande minikube dashboard

DOF302 - Gestion des PODs, Contrôleurs de Réplication, ReplicaSets, Deployments, de la Maintenance et des Mises-à-jour du Cluster

LAB #1 - Création d'un POD

1.1 - Présentation d'un POD

1.2 - Création Manuelle d'un POD

1.3 - Création d'un POD à l'aide d'un fichier YAML

apiVersion

kind

metadata

spec

Utilisation du Fichier YAML

LAB #2 - Utilisation de Contrôleurs de Réplication et ReplicaSets

2.1 - Contrôleurs de Réplication

Présentation d'un Contrôleur de Réplication

Mise en Application

2.2 - ReplicaSets

Présentation d'un ReplicaSet

Mise en Application

LAB #3 - Gestion des Deployments

3.1 - Présentation d'un Deployment

3.2 - Mise en Application

Rollouts

Rolling Updates

Rollbacks

LAB #4 - Gestion de la Maintenance

4.1 - La Commande drain

4.2 - La Commande uncordon

LAB #5 - Gestion des Mises-à-jour

5.1 - Mise-à-jour de kubeadm

5.2 - Mise-à-jour des Travailleurs

DOF303 - Les Commandes kubectl, krew et kustomize

LAB #1 - Utilisation de la Commande kubectl

1.1 - Obtenir de l'Aide sur les Commandes de kubectl

1.2 - Obtenir de l'Information sur le Cluster

La Commande version

La Commande cluster-info

La Commande api-versions

La Commande api-resources

1.3 - Obtenir de l'Information sur les Nœuds

La Commande describe node

La Commande top

1.4 - Obtenir de l'Information sur les Pods

La Commande describe pod

La Commande top

1.5 - Travailler avec la commande kubectl

La Commande apply

La Commande create

La Commande get

Utilisation des Options

La Commande exec

Commandes Impératives

LAB #2 - Gestion les plugins de kubectl avec la Commande krew

2.1 - Installation de krew

2.2 - Consultation de la liste des plugins

2.3 - Installation et utilisation de plugins

2.4 - Mise à jour et suppression de plugins

LAB #3 - Gestion des patchs avec la Commande kustomize

DOF304 - Travailler avec des Pods et des Conteneurs

LAB #1 - Application Configuration

1.1 - Présentation

1.2 - Création d'une ConfigMap

1.3 - Création d'un Secret

1.4 - Utilisation de ConfigMaps et de Secrets

Utilisation de Variables d'environnement

Utilisation de Volumes de Configuration

LAB #2 - Gestion des Ressources des Conteneurs

2.1 - Présentation

2.2 - Resource Requests

2.3 - Resource Limits

LAB #3 - Supervision des Conteneurs

3.1 - Présentation

3.2 - Liveness Probes

Le Probe exec

Le Probe httpGet

3.3 - Startup Probes

3.4 - Readiness Probes

LAB #4 - Gestion des Politiques de Redémarrage

4.1 - Présentation

4.2 - Always

4.3 - OnFailure

4.4 - Never

LAB #5 - Création de Pods Multi-conteneurs

5.1 - Présentation

5.2 - Mise en Place

LAB #6 - Conteneurs Init

6.1 - Présentation

6.2 - Mise en Place

LAB #7 - Scheduling

7.1 - Présentation

7.2 - Mise en Place

LAB #8 - DaemonSets

8.1 - Présentation

8.2 - Mise en Place

LAB #9 - Pods Statiques

9.1 - Présentation

9.2 - Mise en Place

DOF305 - Gestion du Réseau, des Services et d'une Architecture de Microservices

LAB #1 - Gestion du Réseau et des Services

1.1 - Présentation des Extensions Réseau

1.2 - DNS K8s

Présentation

Mise en Application

1.3 - Network Policies

Présentation

Mise en Application

1.4 - Services

Le Service NodePort

Présentation

Mise en Application

Le Service ClusterIP

Présentation

Mise en Application

1.5 - Services et le DNS k8s

Présentation

Mise en Application

1.6 - Gestion de K8s Ingress

Présentation

Mise en Application

LAB #2 - Gestion de l'Architecture des Microservices

2.1 - Présentation

2.2 - Création des Deployments

2.3 - Création des Services

2.4 - Déployer l'Application

2.5 - Scaling Up

DOF306 - Gestion des Volumes sous K8s

Présentation

Volumes

Persistent Volumes

Types de Volumes

LAB #1 - Utiliser des Volumes K8s

1.1 - Volumes et volumeMounts

1.2 - Partager des volumes entre conteneurs

LAB #2 - Volumes Persistants

2.1 - Storage Classes

2.2 - Persistent Volumes

2.3 - Persistent Volume Claims

2.4 - Utiliser un PersistentVolumeClaim dans un pod

2.5 - Redimensionnement d'un PersistentVolumeClaim

DOF307 - Troubleshooting K8s

LAB #1 - Le Serveur API

1.1 - Connexion Refusée

1.2 - Journaux des Pods Système

LAB #2 - Les Noeuds

2.1 - Le Statut NotReady

LAB #3 - Les Pods

3.1 - L'Erreur ImagePullBackOff

3.2 - L'Erreur CrashLoopBackOff

LAB #4 - Les Conteneurs

4.1 - La Commande exec

LAB #5 - Le Réseau

5.1 - kube-proxy et le DNS

5.2 - Le Conteneur netshoot

DOF308 - Introduction à la Sécurisation de K8s

LAB #1 - Role Based Acces Control et Certificats TLS

1.1 - Présentation

1.2 - Le Fichier /etc/kubernetes/manifests/kube-apiserver.yaml

1.3 - Création d'un serviceAccount

1.4 - Création d'un Utilisateur

1.5 - Certificats TLS

LAB #2 - Implémentation de la Sécurité au niveau des Pods

2.1 - Présentation

2.2 - Kubernetes Security Context

ReadOnlyRootFilesystem

drop

2.3 - K8s Network Policies

2.4 - K8s Resource Allocation Management

DOF309 - Gestion de Paquets pour K8s avec Helm

Présentation de Helm

LAB #1 - Travailler avec Helm

1.1 - Installation de Helm

1.2 - La Commande helm search hub

1.3 - Rechercher dans le Helm Hub

1.4 - Ajouter et supprimer un Dépôt

1.5 - La Commande helm search repo

1.6 - La Commande helm show

1.7 - Installation d'un Chart

1.8 - La Commande helm get

1.9 - Utilisation des NOTES

1.10 - La Commande helm upgrade

1.11 - La Commande helm history

1.12 - La Commande helm rollback

1.13 - La Commande helm uninstall

LAB #2 - Supervision de K8s avec le Stack EFK

2.1 - Présentation du Stack EFK

2.2 - Installation du Chart elasticsearch

2.3 - Installation du Chart fluentd-elasticsearch

2.4 - Installation du Chart kibana

2.5 - Génération de Traces dans K8s

2.6 - Visualisation des Données avec Kibana

DOF310 - StatefulSets, StorageClass Avancé, Helm Avancé et Monitoring

StatefulSets

LAB #1 - Mise en Place d'un StatefulSet Simple

1.1 - Création du Service et du StatefulSet

1.2 - Mise en Place d'un Scale Up

1.3 - Mise en Place d'un Scale Down

1.4 - Suppression du StatefulSet

StorageClass Avancé

LAB #2 - Provisionnement NFS dynamique

2.1 - Configuration du Serveur NFS

2.2 - Configuration des Clients NFS

2.3 - Configuration de K8s

2.4 - Création d'un PersistentVolumeClaim

2.5 - Utilisation du PersistentVolumeClaim avec un pod

2.6 - Création d'un Deuxième PersistentVolumeClaim

2.7 - Suppression des PersistentVolumeClaims

Helm Avancé

LAB #3 - Création d'un Paquet Helm Simple

3.1 - Le Fichier values.yaml

3.2 - Les Templates

3.3 - Installation et Suppression

Monitoring

LAB #4 - Mise en Place d'une Solution Prometheus

4.1 - Déploiement du Stack avec Helm

4.2 - Consultation des Données avec Grafana

4.3 - Consultation des Alertes avec le Web UI de Prometheus

DOF311 - Validation des Acquis

60 questions issues d'un pool de 104 questions

Copyright © 2024 Hugh Norris - Document non-contractuel. Le programme peut être modifié sans préavis.