Skip to content
Snippets Groups Projects
Commit 5401b631 authored by CLEMENTE Damien's avatar CLEMENTE Damien
Browse files

Update file 9.Aide_Kubernetes.md

parent 3a32c1f4
No related branches found
No related tags found
No related merge requests found
# 📌 Commandes Utiles pour Kubernetes
## 🔧 Dépannage Kubernetes
### 📄 Afficher les logs d’un pod
```sh
kubectl logs <pod-name>
kubectl logs <pod-name> -n <namespace>
kubectl logs <pod-name> -c <container-name>
kubectl logs -f <pod-name> # Logs en temps réel
```
### 🚀 Vérifier l’état des pods
```sh
kubectl get pods
kubectl get pods -A
kubectl get pods -o wide
kubectl get pods -n <namespace>
kubectl get pods --show-labels
kubectl get pods --field-selector=status.phase=Running
```
### 🔍 Débugger un pod
```sh
kubectl describe pod <pod-name>
kubectl describe pod <pod-name> -n <namespace>
kubectl exec -it <pod-name> -- /bin/sh # Accéder à un conteneur
kubectl exec -it <pod-name> -c <container-name> -- /bin/sh
kubectl attach -it <pod-name> # Attacher un terminal interactif
```
### 🏗 Dépannage des nodes
```sh
kubectl get nodes
kubectl describe node <node-name>
kubectl get nodes -o wide
kubectl cordon <node-name> # Marquer un node comme non planifiable
kubectl drain <node-name> --ignore-daemonsets --delete-local-data # Vider un node
kubectl uncordon <node-name> # Rendre le node à nouveau planifiable
```
### 🔧 Debug d’un service
```sh
kubectl get svc
kubectl get svc -n <namespace>
kubectl describe svc <service-name>
kubectl get endpoints <service-name>
```
### 🌐 Vérifier les ingress
```sh
kubectl get ingress
kubectl describe ingress <ingress-name>
```
### 🔀 Vérifier les réseaux
```sh
kubectl get networkpolicy
kubectl describe networkpolicy <networkpolicy-name>
```
### 📦 Vérifier les volumes et le stockage
```sh
kubectl get pvc
kubectl describe pvc <pvc-name>
kubectl get pv
kubectl describe pv <pv-name>
```
---
## 📜 Commandes Générales Kubernetes
### 📌 Gestion des ressources
#### 🗃 Liste des ressources
```sh
kubectl api-resources
```
#### 🎯 Gestion des pods
```sh
kubectl get pods
kubectl get pods -n <namespace>
kubectl get pods -o yaml
kubectl delete pod <pod-name>
kubectl delete pod <pod-name> --grace-period=0 --force
kubectl rollout restart deployment <deployment-name> # Redémarrer un déploiement
```
#### ⚙ Gestion des deployments
```sh
kubectl get deployments
kubectl get deployments -o wide
kubectl describe deployment <deployment-name>
kubectl scale deployment <deployment-name> --replicas=3
kubectl rollout history deployment <deployment-name>
kubectl rollout undo deployment <deployment-name>
```
#### 🎭 Gestion des services
```sh
kubectl get svc
kubectl get svc -o wide
kubectl delete svc <service-name>
```
#### 🔄 Gestion des configmaps et secrets
```sh
kubectl get configmap
kubectl describe configmap <configmap-name>
kubectl create configmap <configmap-name> --from-literal=key=value
kubectl get secret
kubectl describe secret <secret-name>
kubectl create secret generic <secret-name> --from-literal=key=value
```
#### 🏗 Gestion des namespaces
```sh
kubectl get namespaces
kubectl create namespace <namespace>
kubectl delete namespace <namespace>
```
#### 📊 Ressources et monitoring
```sh
kubectl top nodes
kubectl top pods
kubectl top pods --containers
```
#### 🎯 Récupérer l’IP d’un service ou pod
```sh
kubectl get svc <service-name> -o jsonpath='{.spec.clusterIP}'
kubectl get pod <pod-name> -o jsonpath='{.status.podIP}'
```
#### 📥 Appliquer un fichier de configuration
```sh
kubectl apply -f <file.yaml>
kubectl delete -f <file.yaml>
kubectl replace -f <file.yaml>
```
---
## 🔥 Commandes Avancées
### 🚧 Simuler une panne dans un pod (chaos engineering)
```sh
kubectl exec -it <pod-name> -- kill 1
kubectl delete pod <pod-name>
```
### 🧩 Vérifier la connectivité réseau entre les pods
```sh
kubectl exec -it <pod-name> -- ping <other-pod-ip>
kubectl exec -it <pod-name> -- curl <service-name>:<port>
```
### 📶 Debug d’un container via un conteneur temporaire
```sh
kubectl debug pod/<pod-name> -it --image=busybox
```
### 🏗 Gérer les labels et annotations
```sh
kubectl label pod <pod-name> env=production
kubectl annotate pod <pod-name> description="Ce pod est utilisé pour la production"
```
### 🔥 Purger tous les pods en erreur
```sh
kubectl get pods | grep Evicted | awk '{print $1}' | xargs kubectl delete pod
kubectl delete pod --field-selector=status.phase==Failed
```
---
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment