首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取JsonPath for nodeSelector

如何获取JsonPath for nodeSelector
EN

Stack Overflow用户
提问于 2018-09-11 21:46:10
回答 1查看 531关注 0票数 4

有办法从JsonPath命令行获取nodeSelector关键字的kubectl吗?

如果我运行kubectl explain deployment --recursive命令,它将输出一个包含所有关键字的列表:

代码语言:javascript
复制
apiVersion  <string>
kind    <string>
metadata    <Object>
   annotations  <map[string]string>
   clusterName  <string>
   creationTimestamp    <string>
   deletionGracePeriodSeconds   <integer>
   deletionTimestamp    <string>
   finalizers   <[]string>
   generateName <string>
   generation   <integer>
   initializers <Object>
      pending   <[]Object>
         name   <string>
      result    <Object>
         apiVersion <string>
         code   <integer>
         details    <Object>
            causes  <[]Object>
               field    <string>
               message  <string>
               reason   <string>
            group   <string>
            kind    <string>
...

这个列表很长,加上像nodeSelector这样的关键字,很难看出JsonPath是spec.template.spec.nodeSelector

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-12 12:57:16

其中一种方法是将输出转换为这样的YAML格式:(为了获得这个输出,我做了几次替换和删除。不幸的是,没有可供kubectl实现的本地选项。)

代码语言:javascript
复制
   apiVersion: 'string'
   kind: 'string'
   metadata:
      annotations: 'map[string]string'
      clusterName: 'string'
      creationTimestamp: 'string'
      deletionGracePeriodSeconds: 'integer'
      deletionTimestamp: 'string'
      finalizers: '[]string'
      generateName: 'string'
      generation: 'integer'
      initializers:
         pending:
            name: 'string'
         result:
            apiVersion: 'string'
            code: 'integer'
            details:
               causes:
                  field: 'string'
                  message: 'string'
                  reason: 'string'
...

现在,您可以应用this堆栈溢出问题的解决方案来获得如下所示的扁平输出:

代码语言:javascript
复制
{
  "apiVersion": "string",
  "kind": "string",
  "metadata.annotations": "map[string]string",
  "metadata.clusterName": "string",
  "metadata.creationTimestamp": "string",
  "metadata.deletionGracePeriodSeconds": "integer",
  "metadata.deletionTimestamp": "string",
  "metadata.finalizers": "[]string",
  "metadata.generateName": "string",
  "metadata.generation": "integer",
  "metadata.initializers.pending.name": "string",
  "metadata.initializers.result.apiVersion": "string",
  "metadata.initializers.result.code": "integer",
  "metadata.initializers.result.details.causes.field": "string",
  "metadata.initializers.result.details.causes.message": "string",
  "metadata.initializers.result.details.causes.reason": "string",
...
}

然后,您可以筛选或搜索结果,以获得您想要的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52284615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档