TP1 Déploiement d'un Pod unique
Tips
Utiliser les alias et variables du shell
# File: .bash_aliases
alias k='kubectl'
# Afficher les contextes
alias kcon='kubectl config get-contexts'
# Changer de contexte
alias kx='kubectl config use-context'
# Changer le namespace courant
alias kn='kubectl config set-context --current --namespace'
# Lister les ressources
alias kg='kubectl get'
# Lister les ressources
alias kdesc='kubectl describe'
# Appliquer un manifeste
alias ka='kubectl apply -f'
# Créer les ressources
alias kc='kubectl create'
# Supprimer les ressources
alias kdel='kubectl delete'
# Générer en sortie YAML
export yaml='--dry-run=client -o yaml'
# Expliquer une ressource
alias kexp='kubectl explain — recursive'
# Forcer une terminaison immédiate
export now='--grace-period 0 --force'
# Obtenir les événements
alias kev='kubectl get events --sort-by .lastTimestamp'
# Appliquer un manifeste
alias kl='kubectl logs'
Puis
source .bash_aliases
TP 1
Déployer un Pod Kubernetes avec une image Ubuntu
Ce TP a pour objectif de créer, déployer et vérifier un Pod dans un cluster Kubernetes tout en utilisant des commandes kubectl.

Étapes
- Action : Installer K3S si ce n'est pas encore fait via la ligne de commande sur k3s.io
Observation : K3S doit s'installer sur votre lab virtuel.
Indice
Utiliser la commande curl [URL installateur k3s] | sh - pour lancer l'installation.
- Action : Afficher son kubeconfig.
Observation : Le kubeconfig doit indiquer les paramètres du cluster en cours.
Indice
Utiliser la commande kubectl config ??? pour afficher la configuration.
- Action : Créer son namespace
Observation : Le namespace apparaît dans la liste.
Contraintes :- nom du namespace :
mynamespace
- nom du namespace :
Indice
Utiliser la commande kubectl create namespace ??? pour créer le namespace.
- Action : Lancer l'image Ubuntu
ubuntu:latestpour un podubuntu.
Observation : Le pod sera créé dynamiquement.
Contraintes :- namespace
mynamespace - image :
ubuntu:latest - nom du pod :
ubuntu - nom du conteneur : sera hérité du nom du pod par défaut
- commande :
tail -f /dev/null
- namespace
Indice
Utiliser la commande kubectl run ??? pour lancer l'image Docker.
- Action : Utiliser
getetdescribepour inspecter le Pod.
Observation :getfournit un résumé du Pod, tandis quedescribedonne des détails complets. Est-ce que le pod est resté actif ? Pourquoi ?
Indice
Utiliser les commandes kubectl get ??? et kubectl describe ???.
- Action : Afficher le manifeste du Pod.
Observation : Le fichier YAML généré représente l'état actuel du Pod dans Kubernetes.
Indice
Utiliser la commande kubectl get ??? -o yaml pour afficher le manifeste en format YAML.
- Action : Supprimer le Pod et attendre la finalisation de la suppression.
Observation : Le Pod sera supprimé, et la commande attendra que l'opération soit terminée.
Indice
Utiliser la commande kubectl delete ???.
Avancé
- Exécuter la commande
kubectl get allpour lister toutes les ressources dans le namespace actuel. - Exécuter la commande
kubectl get events --sort-by .lastTimestamppour lister toutes les ressources dans le namespace actuel. - Relancer tourner le pod sans
tail -f /dev/null. Qu'est-ce que ça fait ? - Utiliser la commande
kubectl get pods -o jsonpour afficher la sortie en format JSON. - Utiliser
kubectl get pod ubuntu -o jsonpath='{.status.phase}'pour filtrer des informations spécifiques en JSON. - Utiliser
kubectl top pod ubuntupour afficher les statistiques d'utilisation CPU/mémoire du Pod.
Solution
Afficher
- Afficher son kubeconfig :
kubectl config view - Créer son namespace :
kubectl create namespace mynamespace - Lancer l'image Ubuntu :
kubectl run ubuntu --image=ubuntu --namespace mynamespace -- tail -f /dev/null - Utiliser get et describe :
kubectl get pod ubuntu --namespace mynamespacekubectl describe pod ubuntu --namespace mynamespace
- Afficher le manifeste en YAML :
kubectl get pod ubuntu -o yaml --namespace mynamespace - Supprimer et attendre la suppression du Pod :
kubectl delete pod ubuntu --namespace mynamespace