从 kubernetes configmap 中的 json 文件中提取特定密钥
我有一个带有 json 格式数据的 k8s 配置映射。 例如:
apiVersion: v1
kind: ConfigMap
metadata:
name: xyz
namespace: x
data:
resources.json: |
{
"configsets":
[
{
"key1": "value1",
"key2":
[
{
"machine": value,
"id": value
},
{
"machine": value,
"id": value
},
{
"machine": value,
"id": value,
}
]
}
我需要 key2 内的机器总数作为 bash 脚本中的变量。我怎样才能提取这些信息?
I have a k8s config map with json format data.
Ex:
apiVersion: v1
kind: ConfigMap
metadata:
name: xyz
namespace: x
data:
resources.json: |
{
"configsets":
[
{
"key1": "value1",
"key2":
[
{
"machine": value,
"id": value
},
{
"machine": value,
"id": value
},
{
"machine": value,
"id": value,
}
]
}
I need the total number of the machines inside key2 as a variable in a bash script. How can I extract this information?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,resources.json 是错误的,应该类似于:
如果是这样,那么您可以这样做:
这将为您提供数组内的对象数量,从而获得机器数量。
您需要安装jq。例如在 Ubuntu 中:
sudo apt-get install jq
First of all, the
resources.json
is wrong and should be something like:If so, then you can do:
that will give you the number of objects inside the array thus the number of machines.
You need to have jq installed. e.g in Ubuntu:
sudo apt-get install jq