Formation DevOps | Formation kubernetes : Pods
Pods dans Kubernetes
Les pods sont les plus petites entités manipulables dans Kubernetes. Ils représentent une couche d’abstraction pour gérer des ensembles de conteneurs fonctionnant ensemble sur un même hôte et partageant des ressources, comme le réseau et le stockage.

Caractéristiques des Pods
-
Entité composée de conteneurs : Un pod peut contenir un ou plusieurs conteneurs qui ont un lien étroit entre eux, souvent dans une relation de complémentarité. Par exemple, un conteneur principal pourrait exécuter l’application tandis qu’un conteneur secondaire pourrait fournir des services auxiliaires tels que la mise en cache ou le logging.
-
Démarrés sur la même machine : Les conteneurs d’un même pod sont toujours exécutés sur le même hôte, ce qui leur permet de partager des ressources de manière optimale.
-
Partage des namespaces : Les conteneurs au sein d’un pod partagent le même namespace réseau et peuvent également partager des points de montage. Cela signifie qu’ils peuvent communiquer entre eux via
localhost
et accéder aux mêmes volumes de stockage. -
Cycle de vie immuable : Une fois qu’un pod est créé, on ne peut pas augmenter ou diminuer le nombre de conteneurs qu’il contient. Si une modification est nécessaire, un nouveau pod doit être créé.
Utilisation de Kubectl pour la Gestion des Pods
Lancer un Pod
Pour lancer un pod simple contenant un conteneur avec l’image nginx
, vous pouvez utiliser la commande suivante :
kubectl run nginx --image=nginx
Après avoir exécuté cette commande, vous pouvez vérifier l’état de vos pods en utilisant :
kubectl get pods
Liste des Pods
Obtenir des Détails sur un Pod
Pour obtenir des informations détaillées sur un pod spécifique, utilisez la commande :
kubectl describe pod nginx
Cette commande vous fournit des informations essentielles, notamment :
L’état du pod (par exemple, Running, Error, ou Evicted).
La section « Events », qui présente les événements associés au pod, utile pour le débogage.
Des informations détaillées sur les volumes persistants, les PVC, les ConfigMaps, les side-cars, etc.
Détails du Pod
Afficher les Logs d’un Pod
Pour afficher les logs d’un pod spécifique et suivre la sortie en temps réel, vous pouvez utiliser :
kubectl logs -f nginx


Logs du Pod
Exécuter des Commandes dans un Pod
Il est également possible d’exécuter des commands à l’intérieur d’un pod. Par exemple, pour imprimer “Hello World” :
kubectl exec nginx -- echo "Hello World"

Exécution de commande dans un pod
Pour ouvrir un shell interactif dans le pod, utilisez :
kubectl exec -it nginx -- /bin/bash

Pour plus d’informations sur les commandes, consultez la documentation officielle de Kubectl.
Création de Pods à l’Aide de Fichiers YAML
Bien que l’utilisation de kubectl run soit rapide, il est généralement recommandé de définir les pods à l’aide de fichiers YAML. Cela permet de gérer et de versionner plus facilement les configurations.
Voici un exemple de définition d’un pod dans un fichier YAML :
apiVersion: v1
kind: Pod
metadata:
name: nginx-yaml
labels:
role: myrole
spec:
containers:
- name: web
image: nginx
ports:
- containerPort: 80
protocol: TCP
Explication des Champs
apiVersion : La version de l’API Kubernetes à utiliser pour cet objet.
kind : Type d’objet, ici un pod.
metadata : Contient les métadonnées telles que le nom du pod et les labels.
name : Nom du pod.
labels : Étiquettes importantes utilisées pour sélectionner les pods.
spec : Spécifications des conteneurs, y compris les ports exposés et l’image à utiliser.
Appliquer la Définition de Pod
Après avoir créé le fichier YAML, vous pouvez l’appliquer avec :
kubectl apply -f deploy.yaml
Application du fichier YAML
Tester le Pod
Pour s’assurer que le pod fonctionne comme prévu, exposez-le à l’aide d’un service :
kubectl expose pod nginx --type=NodePort --port=80
Cela exposera le port 80 du pod sur un port de nœud. N’oubliez pas d’ajouter ce port à votre groupe de sécurité inbound.
Pour voir les services actifs, utilisez :
kubectl get svc
Et pour obtenir des détails sur le service :
kubectl describe svc nginx
Dans cet exemple, le port d’exposition est 30149.
Accéder au Pod
Pour tester le pod exposé, récupérez l’adresse IP publique d’un nœud sur lequel le service est en écoute. Dans notre cas, cela pourrait être 3.250.87.23.
Dans notre cas le port d’exposition est 30149

Pour tester faut récupérer une adresse publique 3.250.87.23 d’un node dans mon cas c’est est utilisé le nodeport :

En utilisant cette adresse IP et le port, vous pourrez accéder au service exécuté dans le pod.
Conclusion
Les pods sont des unités de déploiement essentielles dans Kubernetes, facilitant la gestion des conteneurs. Grâce à kubectl, vous pouvez facilement créer, superviser, dépanner et interagir avec vos pods de manière efficace. En utilisant des définitions YAML, vous obtenez une meilleure organisation et une gestion plus simple de votre infrastructure, permettant des déploiements reproductibles. Que vous travailliez sur des environnements de développement ou de production, la compréhension et la manipulation efficaces des pods sont cruciales pour tirer le meilleur parti de Kubernetes.
1. Nous contactez
- Description: Besoin de Formation et des Solutions cloud complètes pour vos applications
- Links:
2. Infra as a Service
- Description: Infrastructure cloud évolutive et sécurisée
- Links:
3. Projets Développeurs
- Description: Découvrez des opportunités passionnantes pour les développeurs
- Links:
4. Développeurs
- Description: Rejoignez notre communauté de développeurs
- Links:
5. Formations Complètes
- Description: Accédez à des formations professionnelles de haute qualité
- Links:
6. Marketplace
- Description: Découvrez notre place de marché de services
- Links:
7. Blogs
- Description: Découvrez nos blogs
- Links:
- comment creer une application mobile ?
- Comment monitorer un site web ?
- Command Checkout in git ?
- Comment git checkout to commit ?
- supprimer une branche git
- dockercoin
- kubernetes c est quoi
- architecture kubernetes
- Installer Gitlab Runner ?
- .gitlab-ci.yml exemples
- CI/CD
- svelte 5 vs solid
- svelte vs lit
- solidjs vs qwik
- alpine vs vue
- Plateform Freelance 2025
- Creation d’un site Web gratuitement
This website is powered by ItGalaxy.io