J'essaie d'enregistrer le contenu d'une configmap dans un fichier sur mon disque dur local. Kubectl prend en charge 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 configmap 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 la sortie suivante:
Name: my-configmap
Namespace: default
Labels: <none>
Annotations: <none>
Data
====
my.file.json:
----
{
"key": "value"
}
Events: <none>
Le plus loin que j'ai obtenu, donc sélectionner uniquement le contenu du fichier est le suivant:
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?
Il y a un --- issue au repo Kubernetes GitHub avec une liste de choses qui doivent être corrigées en ce qui concerne kubectl (et JSONpath), l'un d'eux est un problème 16707La sortie du modèle -jsonpath doit être json.
Modifier:
Que dis-tu de ça:
kubectl get cm my-configmap -o jsonpath='{.data.my\.file\.json}'
Je viens de réaliser que j'avais répond une autre question liée (genre de) à celle-ci. La commande ci-dessus devrait produire ce que vous aviez en tête!