如何使用 oc 客户端从 configmap 中提取特定值

Yer*_*rev 5 yaml openshift kubernetes

我的配置图如下所示:

apiVersion: v1
data:
  my-data.yaml |2-
   #data comes here
kind: ConfigMap
Run Code Online (Sandbox Code Playgroud)

是否可以my-data.yaml通过提取密钥的内容

oc get configmap
Run Code Online (Sandbox Code Playgroud)

或任何其他oc命令?

例如

oc get configmap myconfigmap  -o=yaml <[only my-data.yaml]>
Run Code Online (Sandbox Code Playgroud)

Dae*_*ark 4

我想演示一个示例命令,“coderanger”之前提到过。

此示例从 yaml 转换为 json,然后使用“jq”命令过滤“.keyname”。您还可以使用“yq”命令代替 python one-liner 和 jq 组合。

oc get configmap/myconfigmap \
   -o "jsonpath={ .data['my-data\.yaml']}" | \
   python -c 'import sys, yaml, json; y=yaml.load(sys.stdin.read()); print json.dumps(y)' | \
   jq '. | .keyname'
Run Code Online (Sandbox Code Playgroud)

我希望它对你有帮助。