8 votes

Comment sauvegarder le contenu d'une carte de configuration dans un fichier avec kubectl et jsonpath ?

J'essaie d'enregistrer le contenu d'une carte de configuration dans un fichier sur mon disque dur local. Kubectl supporte la sélection avec JSONPath mais je ne trouve pas l'expression dont j'ai besoin pour sélectionner uniquement le contenu du fichier.

La carte de configuration a été créée à l'aide de la commande

kubectl create configmap my-configmap --from-file=my.configmap.json=my.file.json

Quand je cours

kubectl describe configmap my-configmap

Je vois le résultat suivant :

Name:         my-configmap 
Namespace:    default 
Labels:       <none> 
Annotations:  <none>

Data
==== 
my.file.json:
---- 
{
    "key": "value" 
} 
Events:  <none>

Voici ce que j'ai réussi à faire en sélectionnant uniquement le contenu des fichiers :

 kubectl get configmap my-configmap -o jsonpath="{.data}"

Quelles sorties

map[my.file.json:{
    "key": "value"
}]

La sortie que je veux est

{
  "key": "value"
}

Quelle est la dernière pièce du puzzle JSONPath ?

16voto

mikejoh Points 716

Il y a un ouvert numéro au repo GitHub de Kubernetes avec une liste de choses qui doivent être corrigées en ce qui concerne kubectl (et JSONpath), l'un d'entre eux est le problème suivant 16707 jsonpath La sortie du modèle doit être json .

Edita:

Que dites-vous de ça ?

kubectl get cm my-configmap -o jsonpath='{.data.my\.file\.json}'

Je viens de réaliser que j'avais répondu à une autre question liée (en quelque sorte) à celle-ci. La commande ci-dessus devrait produire ce que vous aviez en tête !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X