Skip to content

Commit 61e83dd

Browse files
committed
Kubectl cheatsheet
1 parent a4112fb commit 61e83dd

File tree

1 file changed

+29
-14
lines changed

1 file changed

+29
-14
lines changed

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

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ complete -F __start_kubectl k
4343

4444
```bash
4545
source <(kubectl completion zsh) # active l'auto-complétion pour zsh dans le shell courant
46-
echo "if [ $commands[kubectl] ]; then source <(kubectl completion zsh); fi" >> ~/.zshrc # ajoute l'auto-complétion de manière permanente à votre shell zsh
46+
echo "[[ $commands[kubectl] ]] && source <(kubectl completion zsh)" >> ~/.zshrc # ajoute l'auto-complétion de manière permanente à votre shell zsh
4747
```
4848

4949
## Contexte et configuration de Kubectl
@@ -87,7 +87,7 @@ kubectl config unset users.foo # Supprime l'utilisateur fo
8787

8888
## Création d'objets
8989

90-
Les manifests Kubernetes peuvent être définis en json ou yaml. Les extensions de fichier `.yaml`,
90+
Les manifests Kubernetes peuvent être définis en YAML ou JSON. Les extensions de fichier `.yaml`,
9191
`.yml`, et `.json` peuvent être utilisés.
9292

9393
```bash
@@ -145,7 +145,7 @@ EOF
145145
# Commandes Get avec un affichage basique
146146
kubectl get services # Liste tous les services d'un namespace
147147
kubectl get pods --all-namespaces # Liste tous les Pods de tous les namespaces
148-
kubectl get pods -o wide # Liste tous les Pods du namespace, avec plus de détails
148+
kubectl get pods -o wide # Liste tous les Pods du namespace courant, avec plus de détails
149149
kubectl get deployment my-dep # Liste un déploiement particulier
150150
kubectl get pods # Liste tous les Pods dans un namespace
151151
kubectl get pod my-pod -o yaml # Affiche le YAML du Pod
@@ -154,20 +154,20 @@ kubectl get pod my-pod -o yaml # Affiche le YAML du Pod
154154
kubectl describe nodes my-node
155155
kubectl describe pods my-pod
156156

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

160160
# Liste les pods classés par nombre de redémarrages
161161
kubectl get pods --sort-by='.status.containerStatuses[0].restartCount'
162162

163-
# Affiche les pods du namespace test classés par capacité de stockage
164-
kubectl get pods -n test --sort-by=.spec.capacity.storage
163+
# Affiche les volumes persistants classés par capacité de stockage
164+
kubectl get pv --sort-by=.spec.capacity.storage
165165

166166
# Affiche la version des labels de tous les pods ayant un label app=cassandra
167167
kubectl get pods --selector=app=cassandra -o \
168168
jsonpath='{.items[*].metadata.labels.version}'
169169

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

@@ -252,7 +252,7 @@ kubectl patch sa default --type='json' -p='[{"op": "add", "path": "/secrets/1",
252252
```
253253

254254
## Édition de ressources
255-
Ceci édite n'importe quelle ressource de l'API dans un éditeur.
255+
Édite n'importe quelle ressource de l'API dans un éditeur.
256256

257257
```bash
258258
kubectl edit svc/docker-registry # Édite le service nommé docker-registry
@@ -274,7 +274,7 @@ kubectl scale --replicas=5 rc/foo rc/bar rc/baz # Scale plusie
274274
kubectl delete -f ./pod.json # Supprime un pod en utilisant le type et le nom spécifiés dans pod.json
275275
kubectl delete pod,service baz foo # Supprime les pods et services ayant les mêmes noms "baz" et "foo"
276276
kubectl delete pods,services -l name=myLabel # Supprime les pods et services ayant le label name=myLabel
277-
kubectl -n my-ns delete po,svc --all # Supprime tous les pods et services dans le namespace my-ns
277+
kubectl -n my-ns delete pod,svc --all # Supprime tous les pods et services dans le namespace my-ns
278278
# Supprime tous les pods correspondants à pattern1 ou pattern2 avec awk
279279
kubectl get pods -n mynamespace --no-headers=true | awk '/pattern1|pattern2/{print $1}' | xargs kubectl delete -n mynamespace pod
280280
```
@@ -292,9 +292,9 @@ kubectl logs -f my-pod # Fait défiler (stream) les
292292
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)
293293
kubectl logs -f -l name=myLabel --all-containers # Fait défiler (stream) les logs de tous les pods ayant le label name=myLabel (stdout)
294294
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
295+
kubectl run nginx --image=nginx --restart=Never -n
296+
mynamespace # Exécute le pod nginx dans un namespace spécifique
297+
kubectl run nginx --image=nginx --restart=Never # Simule l'exécution du pod nginx et écrit sa spécification dans un fichier pod.yaml
298298
--dry-run -o yaml > pod.yaml
299299

300300
kubectl attach my-pod -i # Attache à un conteneur en cours d'exécution
@@ -340,7 +340,7 @@ kubectl api-resources --api-group=extensions # Toutes les ressources dans le gro
340340

341341
### Formattage de l'affichage
342342

343-
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.
343+
Pour afficher les détails sur votre terminal dans un format spécifique, utilisez l'option `-o` (ou `--output`) avec les commandes `kubectl` qui la prend en charge.
344344

345345
Format d'affichage | Description
346346
--------------| -----------
@@ -353,6 +353,21 @@ Format d'affichage | Description
353353
`-o=wide` | Affiche dans le format texte avec toute information supplémentaire, et pour des pods, le nom du noeud est inclus
354354
`-o=yaml` | Affiche un objet de l'API formaté en YAML
355355

356+
Exemples utilisant `-o=custom-columns` :
357+
358+
```bash
359+
# Toutes les images s'exécutant dans un cluster
360+
kubectl get pods -A -o=custom-columns='DATA:spec.containers[*].image'
361+
362+
# Toutes les images excepté "k8s.gcr.io/coredns:1.6.2"
363+
kubectl get pods -A -o=custom-columns='DATA:spec.containers[?(@.image!="k8s.gcr.io/coredns:1.6.2")].image'
364+
365+
# Tous les champs dans metadata quel que soit leur nom
366+
kubectl get pods -A -o=custom-columns='DATA:metadata.*'
367+
```
368+
369+
Plus d'exemples dans la [documentation de référence](/fr/docs/reference/kubectl/overview/#colonnes-personnalisées) de kubectl.
370+
356371
### Verbosité de l'affichage de Kubectl et débogage
357372

358373
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).

0 commit comments

Comments
 (0)