Aide-mémoire6 min de lecture

Mémo Kubernetes : objets, ressources API et raccourcis indispensables

SFEIR Institute

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

ObjetRaccourciAPI GroupScope
podspocore/v1Namespaced
servicessvccore/v1Namespaced
deploymentsdeployapps/v1Namespaced
replicasetsrsapps/v1Namespaced
statefulsetsstsapps/v1Namespaced
daemonsetsdsapps/v1Namespaced
configmapscmcore/v1Namespaced
secrets-core/v1Namespaced
persistentvolumespvcore/v1Cluster
persistentvolumeclaimspvccore/v1Namespaced
namespacesnscore/v1Cluster
nodesnocore/v1Cluster
ingressesingnetworking.k8s.io/v1Namespaced
networkpoliciesnetpolnetworking.k8s.io/v1Namespaced
serviceaccountssacore/v1Namespaced
horizontalpodautoscalershpaautoscaling/v2Namespaced
cronjobscjbatch/v1Namespaced
jobs-batch/v1Namespaced
endpointsepcore/v1Namespaced
eventsevcore/v1Namespaced
À 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

FlagDescriptionExemple
-o wideColonnes étendueskubectl get po -o wide
-o yamlExport YAML completkubectl get deploy nginx -o yaml
-o jsonExport JSONkubectl get svc -o json
-o nameNoms uniquementkubectl get po -o name
-o jsonpathExtraction cibléekubectl get po -o jsonpath='{.items[*].metadata.name}'
--selector / -lFiltrer par labelskubectl get po -l app=nginx
--field-selectorFiltrer par champskubectl 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"
ObjetCas d'usageCaractéristique clé
DeploymentApps statelessRolling updates, rollbacks
StatefulSetBases de donnéesIdentité stable, storage persistant
DaemonSetAgents monitoring1 pod par node
JobTâches ponctuellesExécution unique
CronJobTâches planifiéesSchedule 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
TypePort RangeAccessible depuis
ClusterIP-Cluster interne
NodePort30000-32767External 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
AccessModeDescriptionAbréviation
ReadWriteOnce1 node lecture/écritureRWO
ReadOnlyManyMultiple nodes lectureROX
ReadWriteManyMultiple nodes lecture/écritureRWX

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

ErreurCauseSolution
ImagePullBackOffImage introuvable ou credentialsVérifier imagePullSecrets
CrashLoopBackOffContainer crash répétékubectl logs --previous
PendingRessources insuffisanteskubectl describe + vérifier requests
OOMKilledDépassement mémoireAugmenter limits.memory
EvictedNode sous pressionVé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 :

Consultez le calendrier des sessions ou contactez nos conseillers pour un parcours personnalisé.