Points clés
- ✓Les equipes IT passent en moyenne 34 jours/an a resoudre des problemes Kubernetes - ces raccourcis reduisent ce temps
- ✓Les raccourcis kubectl (po, svc, deploy) accelerent l'administration quotidienne
- ✓Chaque objet Kubernetes appartient a un API group et possede un scope defini
TL;DR : Ce mémo Kubernetes centralise tous les objets natifs, leurs raccourcis API (po,svc,deploy) et les commandes kubectl essentielles. 82% des utilisateurs de conteneurs exécutent Kubernetes en production selon le CNCF Annual Survey 2025. Imprimez cette référence.
Pour maîtriser ces commandes en conditions réelles, découvrez la formation LFS458 Administration Kubernetes.
Tableau des objets Kubernetes : noms complets et raccourcis
| Objet | Raccourci | API Group | Scope |
|---|---|---|---|
pods | po | core/v1 | Namespaced |
services | svc | core/v1 | Namespaced |
deployments | deploy | apps/v1 | Namespaced |
replicasets | rs | apps/v1 | Namespaced |
statefulsets | sts | apps/v1 | Namespaced |
daemonsets | ds | apps/v1 | Namespaced |
configmaps | cm | core/v1 | Namespaced |
secrets | - | core/v1 | Namespaced |
persistentvolumes | pv | core/v1 | Cluster |
persistentvolumeclaims | pvc | core/v1 | Namespaced |
namespaces | ns | core/v1 | Cluster |
nodes | no | core/v1 | Cluster |
ingresses | ing | networking.k8s.io/v1 | Namespaced |
networkpolicies | netpol | networking.k8s.io/v1 | Namespaced |
serviceaccounts | sa | core/v1 | Namespaced |
horizontalpodautoscalers | hpa | autoscaling/v2 | Namespaced |
cronjobs | cj | batch/v1 | Namespaced |
jobs | - | batch/v1 | Namespaced |
endpoints | ep | core/v1 | Namespaced |
events | ev | core/v1 | Namespaced |
À retenir : Utilisez kubectl api-resources pour afficher tous les objets disponibles avec leurs raccourcis sur votre cluster.
Commandes kubectl indispensables
Opérations CRUD de base
# Lister avec raccourcis
kubectl get po -A # Tous les pods, tous namespaces
kubectl get deploy,svc -n prod # Deployments + Services
kubectl get no -o wide # Nodes avec IPs
# Créer / Appliquer
kubectl apply -f manifest.yaml # Créer ou mettre à jour
kubectl create deploy nginx --image=nginx:1.27
# Supprimer
kubectl delete po nginx-7fb9 --grace-period=0 --force
kubectl delete -f manifest.yaml
Pour approfondir le debugging, consultez notre guide Debugger un pod en CrashLoopBackOff.
Raccourcis output et filtrage
| Flag | Description | Exemple |
|---|---|---|
-o wide | Colonnes étendues | kubectl get po -o wide |
-o yaml | Export YAML complet | kubectl get deploy nginx -o yaml |
-o json | Export JSON | kubectl get svc -o json |
-o name | Noms uniquement | kubectl get po -o name |
-o jsonpath | Extraction ciblée | kubectl get po -o jsonpath='{.items[*].metadata.name}' |
--selector / -l | Filtrer par labels | kubectl get po -l app=nginx |
--field-selector | Filtrer par champs | kubectl get po --field-selector=status.phase=Running |
Objets Workload : Pod, Deployment, StatefulSet, DaemonSet
Structure minimale d'un Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deploy
namespace: production
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.27
ports:
- containerPort: 80
resources:
requests:
memory: "64Mi"
cpu: "100m"
limits:
memory: "128Mi"
cpu: "200m"
| Objet | Cas d'usage | Caractéristique clé |
|---|---|---|
| Deployment | Apps stateless | Rolling updates, rollbacks |
| StatefulSet | Bases de données | Identité stable, storage persistant |
| DaemonSet | Agents monitoring | 1 pod par node |
| Job | Tâches ponctuelles | Exécution unique |
| CronJob | Tâches planifiées | Schedule cron |
Selon Spectro Cloud, 80% des organisations exécutent Kubernetes en production avec en moyenne 20+ clusters.
À retenir : StatefulSet garantit un nom DNS stable (pod-0.service.namespace.svc.cluster.local).
Objets Service et Networking
Les NetworkPolicies contrôlent le trafic inter-pods.
Types de Services
# ClusterIP (défaut) - interne uniquement
kubectl expose deploy nginx --port=80 --type=ClusterIP
# NodePort - accessible sur chaque node
kubectl expose deploy nginx --port=80 --type=NodePort
# LoadBalancer - cloud provider LB
kubectl expose deploy nginx --port=80 --type=LoadBalancer
| Type | Port Range | Accessible depuis |
|---|---|---|
ClusterIP | - | Cluster interne |
NodePort | 30000-32767 | External via node IP |
LoadBalancer | - | External via cloud LB |
ExternalName | - | DNS CNAME |
Ingress minimal (nginx-ingress)
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: app-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx
rules:
- host: app.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: app-svc
port:
number: 80
Objets Configuration et Storage
ConfigMap et Secret
# ConfigMap depuis fichier
kubectl create cm app-config --from-file=config.yaml
# ConfigMap depuis littéral
kubectl create cm app-config --from-literal=ENV=prod
# Secret générique
kubectl create secret generic db-creds \
--from-literal=username=admin \
--from-literal=password=s3cr3t
# Secret TLS
kubectl create secret tls app-tls --cert=cert.pem --key=key.pem
Selon Orca Security 2025, 70% des organisations utilisent Kubernetes en cloud avec Helm pour gérer ces configurations.
PersistentVolume et PersistentVolumeClaim
# PVC dynamique avec StorageClass
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data-pvc
spec:
accessModes:
- ReadWriteOnce
storageClassName: standard
resources:
requests:
storage: 10Gi
| AccessMode | Description | Abréviation |
|---|---|---|
ReadWriteOnce | 1 node lecture/écriture | RWO |
ReadOnlyMany | Multiple nodes lecture | ROX |
ReadWriteMany | Multiple nodes lecture/écriture | RWX |
Objets Cluster et RBAC
Pour devenir administrateur système Kubernetes, maîtrisez ces objets cluster-wide.
RBAC : Role, ClusterRole, Binding
# Créer un Role
kubectl create role pod-reader \
--verb=get,list,watch \
--resource=pods \
-n default
# Lier à un ServiceAccount
kubectl create rolebinding pod-reader-binding \
--role=pod-reader \
--serviceaccount=default:my-sa \
-n default
# ClusterRole pour accès cluster-wide
kubectl create clusterrole node-reader \
--verb=get,list \
--resource=nodes
À retenir : Role = namespaced, ClusterRole = cluster-wide.
Commandes de diagnostic rapide
Les équipes IT passent en moyenne 34 jours/an à résoudre des problèmes Kubernetes selon Cloud Native Now. Ces commandes réduisent ce temps.
# Events triés par date
kubectl get events --sort-by='.lastTimestamp' -A | tail -30
# Logs avec contexte
kubectl logs deploy/nginx --tail=100 -f
kubectl logs nginx-pod -c sidecar --previous
# Describe pour troubleshooting
kubectl describe po nginx-pod | grep -A10 "Events:"
# Resources par namespace
kubectl top pods -n prod --sort-by=memory
kubectl top nodes
# Vérifier l'état API
kubectl api-resources --verbs=list --namespaced=true
kubectl api-versions | grep -E "apps|batch|networking"
Consultez notre aide-mémoire kubectl complet pour plus de commandes.
Pièges courants à éviter
| Erreur | Cause | Solution |
|---|---|---|
ImagePullBackOff | Image introuvable ou credentials | Vérifier imagePullSecrets |
CrashLoopBackOff | Container crash répété | kubectl logs --previous |
Pending | Ressources insuffisantes | kubectl describe + vérifier requests |
OOMKilled | Dépassement mémoire | Augmenter limits.memory |
Evicted | Node sous pression | Vérifier kubectl top nodes |
Pour migrer depuis Docker Compose, suivez notre guide de transition. Découvrez aussi les meilleurs outils gratuits pour pratiquer.
Alias kubectl recommandés
# ~/.bashrc ou ~/.zshrc
alias k='kubectl'
alias kgp='kubectl get pods'
alias kgs='kubectl get svc'
alias kgd='kubectl get deploy'
alias kga='kubectl get all'
alias kd='kubectl describe'
alias kl='kubectl logs'
alias kex='kubectl exec -it'
alias kaf='kubectl apply -f'
alias kdf='kubectl delete -f'
# Autocomplétion
source <(kubectl completion bash) # ou zsh
complete -F __start_kubectl k
Explorez davantage de tutoriels pratiques Kubernetes et consultez nos comparatifs d'alternatives.
Accélérez votre maîtrise Kubernetes
Ce mémo couvre les objets et raccourcis essentiels. Pour aller plus loin avec des labs pratiques supervisés par des experts :
- LFS458 Administration Kubernetes : 4 jours pour préparer la certification CKA
- LFD459 Kubernetes pour développeurs : 3 jours pour la certification CKAD
- Kubernetes les fondamentaux : 1 jour pour découvrir l'orchestration
Consultez le calendrier des sessions ou contactez nos conseillers pour un parcours personnalisé.