Skip to content

Commit 56ba92d

Browse files
rekcah78remyleone
andauthored
Update FR from EN docs - kubectl cheatsheet (#19983)
* Update from EN docs - kubectl cheatsheet * Update from EN docs - kubectl cheatsheet * Update content/fr/docs/reference/kubectl/cheatsheet.md Co-Authored-By: Rémy Léone <[email protected]> * Update content/fr/docs/reference/kubectl/cheatsheet.md Co-Authored-By: Rémy Léone <[email protected]> * Update content/fr/docs/reference/kubectl/cheatsheet.md Co-Authored-By: Rémy Léone <[email protected]> * Update content/fr/docs/reference/kubectl/cheatsheet.md Co-Authored-By: Rémy Léone <[email protected]> Co-authored-by: Rémy Léone <[email protected]>
1 parent 323be47 commit 56ba92d

File tree

1 file changed

+49
-37
lines changed

1 file changed

+49
-37
lines changed

content/fr/docs/reference/kubectl/cheatsheet.md

Lines changed: 49 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
---
22
title: Aide-mémoire kubectl
33
description: Cheatsheet kubectl aide-mémoire
4+
reviewers:
5+
- rbenzair
6+
- feloy
7+
- remyleone
48
content_template: templates/concept
59
card:
610
name: reference
711
weight: 30
8-
original: d4d55a703
912
---
1013

1114
{{% capture overview %}}
@@ -46,6 +49,8 @@ echo "if [ $commands[kubectl] ]; then source <(kubectl completion zsh); fi" >> ~
4649
## Contexte et configuration de Kubectl
4750

4851
Indique avec quel cluster Kubernetes `kubectl` communique et modifie les informations de configuration. Voir la documentation [Authentification multi-clusters avec kubeconfig](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) pour des informations détaillées sur le fichier de configuration.
52+
Information. Voir la documentation [Authentification à travers des clusters avec kubeconfig](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)
53+
pour des informations détaillées sur le fichier de configuration.
4954

5055
```bash
5156
kubectl config view # Affiche les paramètres fusionnés de kubeconfig
@@ -58,6 +63,7 @@ kubectl config view
5863
# Affiche le mot de passe pour l'utilisateur e2e
5964
kubectl config view -o jsonpath='{.users[?(@.name == "e2e")].user.password}'
6065

66+
kubectl config view -o jsonpath='{.users[].name}' # Affiche le premier utilisateur
6167
kubectl config view -o jsonpath='{.users[*].name}' # Affiche une liste d'utilisateurs
6268
kubectl config get-contexts # Affiche la liste des contextes
6369
kubectl config current-context # Affiche le contexte courant (current-context)
@@ -77,9 +83,7 @@ kubectl config unset users.foo # Supprime l'utilisateur fo
7783
```
7884

7985
## Apply
80-
`apply` gère des applications en utilisant des fichiers définissant des ressources Kubernetes.
81-
Elle crée et met à jour des ressources dans un cluster en exécutant `kubectl apply`.
82-
C'est la manière recommandée de gérer des applications Kubernetes en production. Voir le [Livre Kubectl](https://kubectl.docs.kubernetes.io).
86+
`apply` gère des applications en utilisant des fichiers définissant des ressources Kubernetes. Elle crée et met à jour des ressources dans un cluster en exécutant `kubectl apply`. C'est la manière recommandée de gérer des applications Kubernetes en production. Voir le [Livre Kubectl](https://kubectl.docs.kubernetes.io).
8387

8488
## Création d'objets
8589

@@ -92,7 +96,7 @@ kubectl apply -f ./my1.yaml -f ./my2.yaml # Crée depuis plusieurs fichiers
9296
kubectl apply -f ./dir # Crée une ou plusieurs ressources depuis tous les manifests dans dir
9397
kubectl apply -f https://git.io/vPieo # Crée une ou plusieurs ressources depuis une url
9498
kubectl create deployment nginx --image=nginx # Démarre une instance unique de nginx
95-
kubectl explain pods,svc # Affiche la documentation pour les manifests pod et svc
99+
kubectl explain pods # Affiche la documentation pour les manifests pod
96100

97101
# Crée plusieurs objets YAML depuis l'entrée standard (stdin)
98102
cat <<EOF | kubectl apply -f -
@@ -145,12 +149,12 @@ kubectl get pods -o wide # Liste tous les Pods du namespace, ave
145149
kubectl get deployment my-dep # Liste un déploiement particulier
146150
kubectl get pods # Liste tous les Pods dans un namespace
147151
kubectl get pod my-pod -o yaml # Affiche le YAML du Pod
148-
kubectl get pod my-pod -o yaml --export # Affiche le YAML du Pod sans les informations spécifiques au cluster
149152

150153
# Commandes Describe avec un affichage verbeux
151154
kubectl describe nodes my-node
152155
kubectl describe pods my-pod
153156

157+
# Liste des services triés par nom
154158
kubectl get services --sort-by=.metadata.name # Liste les services classés par nom
155159

156160
# Liste les pods classés par nombre de redémarrages
@@ -163,7 +167,8 @@ kubectl get pods -n test --sort-by=.spec.capacity.storage
163167
kubectl get pods --selector=app=cassandra -o \
164168
jsonpath='{.items[*].metadata.labels.version}'
165169

166-
# Affiche tous les noeuds, en utilisant un sélecteur pour exclure ceux ayant un label 'node-role.kubernetes.io/master'
170+
# Affiche tous les noeuds (en utilisant un sélecteur pour exclure ceux ayant un label
171+
# nommé 'node-role.kubernetes.io/master')
167172
kubectl get node --selector='!node-role.kubernetes.io/master'
168173

169174
# Affiche tous les pods en cours d'exécution (Running) dans le namespace
@@ -178,10 +183,6 @@ sel=${$(kubectl get rc my-rc --output=json | jq -j '.spec.selector | to_entries
178183
echo $(kubectl get pods --selector=$sel --output=jsonpath={.items..metadata.name})
179184

180185
# Affiche les labels pour tous les pods (ou tout autre objet Kubernetes prenant en charge les labels)
181-
# Utilise aussi "jq"
182-
for item in $( kubectl get pod --output=name); do printf "Labels for %s\n" "$item" | grep --color -E '[^/]+$' && kubectl get "$item" --output=json | jq -r -S '.metadata.labels | to_entries | .[] | " \(.key)=\(.value)"' 2>/dev/null; printf "\n"; done
183-
184-
# Ou cette commande peut aussi être utilisée pour obtenir tous les labels associés aux pods
185186
kubectl get pods --show-labels
186187

187188
# Vérifie quels noeuds sont prêts
@@ -191,8 +192,15 @@ JSONPATH='{range .items[*]}{@.metadata.name}:{range @.status.conditions[*]}{@.ty
191192
# Liste tous les Secrets actuellement utilisés par un pod
192193
kubectl get pods -o json | jq '.items[].spec.containers[].env[]?.valueFrom.secretKeyRef.name' | grep -v null | sort | uniq
193194

195+
# Liste les containerIDs des initContainer de tous les Pods
196+
# Utile lors du nettoyage des conteneurs arrêtés, tout en évitant de retirer les initContainers.
197+
kubectl get pods --all-namespaces -o jsonpath='{range .items[*].status.initContainerStatuses[*]}{.containerID}{"\n"}{end}' | cut -d/ -f3
198+
194199
# Liste les événements (Events) classés par timestamp
195200
kubectl get events --sort-by=.metadata.creationTimestamp
201+
202+
# Compare l'état actuel du cluster à l'état du cluster si le manifeste était appliqué.
203+
kubectl diff -f ./my-manifest.yaml
196204
```
197205

198206
## Mise à jour de ressources
@@ -205,12 +213,8 @@ kubectl rollout history deployment/frontend # Vérifie l'hi
205213
kubectl rollout undo deployment/frontend # Rollback du déploiement précédent
206214
kubectl rollout undo deployment/frontend --to-revision=2 # Rollback à une version spécifique
207215
kubectl rollout status -w deployment/frontend # Écoute (Watch) le status du rolling update du déploiement "frontend" jusqu'à ce qu'il se termine
216+
kubectl rollout restart deployment/frontend # Rolling restart du déploiement "frontend"
208217

209-
# déprécié depuis la version 1.11
210-
kubectl rolling-update frontend-v1 -f frontend-v2.json # (déprécié) Rolling update des pods de frontend-v1
211-
kubectl rolling-update frontend-v1 frontend-v2 --image=image:v2 # (déprécié) Modifie le nom de la ressource et met à jour l'image
212-
kubectl rolling-update frontend --image=image:v2 # (déprécié) Met à jour l'image du pod du déploiement frontend
213-
kubectl rolling-update frontend-v1 frontend-v2 --rollback # (déprécié) Annule (rollback) le rollout en cours
214218

215219
cat pod.json | kubectl replace -f - # Remplace un pod, en utilisant un JSON passé en entrée standard
216220

@@ -231,6 +235,7 @@ kubectl autoscale deployment foo --min=2 --max=10 # Mise à l'éc
231235
## Mise à jour partielle de ressources
232236

233237
```bash
238+
# Mise à jour partielle d'un node
234239
kubectl patch node k8s-node-1 -p '{"spec":{"unschedulable":true}}' # Met à jour partiellement un noeud
235240

236241
# Met à jour l'image d'un conteneur ; spec.containers[*].name est requis car c'est une clé du merge
@@ -287,6 +292,11 @@ kubectl logs -f my-pod # Fait défiler (stream) les
287292
kubectl logs -f my-pod -c my-container # Fait défiler (stream) les logs d'un conteneur particulier du pod (stdout, cas d'un pod multi-conteneurs)
288293
kubectl logs -f -l name=myLabel --all-containers # Fait défiler (stream) les logs de tous les pods ayant le label name=myLabel (stdout)
289294
kubectl run -i --tty busybox --image=busybox -- sh # Exécute un pod comme un shell interactif
295+
kubectl run nginx --image=nginx --restart=Never -n
296+
mynamespace # Run pod nginx in a specific namespace
297+
kubectl run nginx --image=nginx --restart=Never # Run pod nginx and write its spec into a file called pod.yaml
298+
--dry-run -o yaml > pod.yaml
299+
290300
kubectl attach my-pod -i # Attache à un conteneur en cours d'exécution
291301
kubectl port-forward my-pod 5000:6000 # Écoute le port 5000 de la machine locale et forwarde vers le port 6000 de my-pod
292302
kubectl exec my-pod -- ls / # Exécute une commande dans un pod existant (cas d'un seul conteneur)
@@ -332,31 +342,33 @@ kubectl api-resources --api-group=extensions # Toutes les ressources dans le gro
332342

333343
Pour afficher les détails sur votre terminal dans un format spécifique, vous pouvez utiliser une des options `-o` ou `--output` avec les commandes `kubectl` qui les prennent en charge.
334344

335-
| Format d'affichage | Description |
336-
|-------------------------------------|-----------------------------------------------------------------------------------------------------------------------|
337-
| `-o=custom-columns=<spec>` | Affiche un tableau en spécifiant une liste de colonnes séparées par des virgules |
338-
| `-o=custom-columns-file=<filename>` | Affiche un tableau en utilisant les colonnes spécifiées dans le fichier `<filename>` |
339-
| `-o=json` | Affiche un objet de l'API formaté en JSON |
340-
| `-o=jsonpath=<template>` | Affiche les champs définis par une expression [jsonpath](/docs/reference/kubectl/jsonpath) |
341-
| `-o=jsonpath-file=<filename>` | Affiche les champs définis par l'expression [jsonpath](/docs/reference/kubectl/jsonpath) dans le fichier `<filename>` |
342-
| `-o=name` | Affiche seulement le nom de la ressource et rien de plus |
343-
| `-o=wide` | Affiche dans le format texte avec toute information supplémentaire, et pour des pods, le nom du noeud est inclus |
344-
| `-o=yaml` | Affiche un objet de l'API formaté en YAML |
345+
Format d'affichage | Description
346+
--------------| -----------
347+
`-o=custom-columns=<spec>` | Affiche un tableau en spécifiant une liste de colonnes séparées par des virgules
348+
`-o=custom-columns-file=<filename>` | Affiche un tableau en utilisant les colonnes spécifiées dans le fichier `<filename>`
349+
`-o=json` | Affiche un objet de l'API formaté en JSON
350+
`-o=jsonpath=<template>` | Affiche les champs définis par une expression [jsonpath](/docs/reference/kubectl/jsonpath)
351+
`-o=jsonpath-file=<filename>` | Affiche les champs définis par l'expression [jsonpath](/docs/reference/kubectl/jsonpath) dans le fichier `<filename>`
352+
`-o=name` | Affiche seulement le nom de la ressource et rien de plus
353+
`-o=wide` | Affiche dans le format texte avec toute information supplémentaire, et pour des pods, le nom du noeud est inclus
354+
`-o=yaml` | Affiche un objet de l'API formaté en YAML
355+
345356
### Verbosité de l'affichage de Kubectl et débogage
346357

347358
La verbosité de Kubectl est contrôlée par une des options `-v` ou `--v` suivie d'un entier représentant le niveau de log. Les conventions générales de logging de Kubernetes et les niveaux de log associés sont décrits [ici](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/logging.md).
348359

349-
| Verbosité | Description |
350-
|-----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
351-
| `--v=0` | Le minimum qui doit *toujours* être affiché à un opérateur. |
352-
| `--v=1` | Un niveau de log par défaut raisonnable si vous n'avez pas besoin de verbosité. |
353-
| `--v=2` | Informations utiles sur l'état stable du service et messages de logs importants qui peuvent être corrélés à des changements significatifs dans le système. C'est le niveau de log par défaut recommandé pour la plupart des systèmes. |
354-
| `--v=3` | Informations étendues sur les changements. |
355-
| `--v=4` | Verbosité de Debug. |
356-
| `--v=6` | Affiche les ressources requêtées. |
357-
| `--v=7` | Affiche les entêtes des requêtes HTTP. |
358-
| `--v=8` | Affiche les contenus des requêtes HTTP. |
359-
| `--v=9` | Affiche les contenus des requêtes HTTP sans les tronquer. |
360+
Verbosité | Description
361+
--------------| -----------
362+
`--v=0` | Le minimum qui doit *toujours* être affiché à un opérateur.
363+
`--v=1` | Un niveau de log par défaut raisonnable si vous n'avez pas besoin de verbosité.
364+
`--v=2` | Informations utiles sur l'état stable du service et messages de logs importants qui peuvent être corrélés à des changements significatifs dans le système. C'est le niveau de log par défaut recommandé pour la plupart des systèmes.
365+
`--v=3` | Informations étendues sur les changements.
366+
`--v=4` | Verbosité de Debug.
367+
`--v=6` | Affiche les ressources requêtées.
368+
`--v=7` | Affiche les entêtes des requêtes HTTP.
369+
`--v=8` | Affiche les contenus des requêtes HTTP.
370+
`--v=9` | Affiche les contenus des requêtes HTTP sans les tronquer.
371+
360372
{{% /capture %}}
361373

362374
{{% capture whatsnext %}}

0 commit comments

Comments
 (0)