如何使用kubectl和jsonpath将configmap的内容保存到文件中?

Pet*_*erH 7 jsonpath kubernetes kubectl configmap

我正在尝试将configmap的内容保存到本地硬盘驱动器上的文件中。Kubectl支持使用JSONPath进行选择,但是我找不到只需要选择文件内容的表达式。

configmap是使用以下命令创建的

kubectl create configmap my-configmap --from-file=my.configmap.json=my.file.json
Run Code Online (Sandbox Code Playgroud)

当我跑步

kubectl describe configmap my-configmap
Run Code Online (Sandbox Code Playgroud)

我看到以下输出:

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

Data
==== 
my.file.json:
---- 
{
    "key": "value" 
} 
Events:  <none>
Run Code Online (Sandbox Code Playgroud)

我得到的最深入的信息,因此仅选择文件内容是这样的:

 kubectl get configmap my-configmap -o jsonpath="{.data}"
Run Code Online (Sandbox Code Playgroud)

哪个输出

map[my.file.json:{
    "key": "value"
}]
Run Code Online (Sandbox Code Playgroud)

我想要的输出是

{
  "key": "value"
}
Run Code Online (Sandbox Code Playgroud)

JSONPath难题的最后一部分是什么?

mik*_*joh 15

Kubernetes GitHub存储库上有一个未解决的问题,其中列出了有关kubectl(和JSONpath)需要修复的问题列表 ,其中之一是问题16707 jsonpath模板输出应为json

编辑:

这个怎么样:

kubectl get cm my-configmap -o jsonpath='{.data.my\.file\.json}'
Run Code Online (Sandbox Code Playgroud)

我刚刚意识到我已经回答了另一个与此有关的问题。上面的命令应该输出您的想法!