开发者社区> 问答> 正文

如何从kubectl返回的JSON中提取kubernetes服务对象

鉴于下面的kubectl命令及其响应,我想把服务对象拉出来。该命令将获取由我的部署描述符(名为quotem.yaml)创建的所有k8s对象的当前状态。

% kubectl get -f quotem_v2.yaml -o json

{
    "apiVersion": "v1",
    "items": [
        {
            "apiVersion": "v1",
            "kind": "Service",
            "metadata": {
                "annotations": {
                    "getambassador.io/config": "---\napiVersion: ambassador/v0\nkind:  Mapping\nname:  qotm_mapping_v2\nprefix: /qotm/\nservice: qotm-v2\nweight: 300\n",
                    "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{\"getambassador.io/config\":\"---\\napiVersion: ambassador/v0\\nkind:  Mapping\\nname:  qotm_mapping_v2\\nprefix: /qotm/\\nservice: qotm-v2\\nweight: 300\\n\"},\"name\":\"qotm-v2\",\"namespace\":\"default\"},\"spec\":{\"ports\":[{\"name\":\"http-qotm\",\"port\":80,\"targetPort\":\"http-api\"}],\"selector\":{\"app\":\"qotm-v2\"}}}\n"
                },
                "creationTimestamp": "2018-12-13T17:53:51Z",
                "name": "qotm-v2",
                "namespace": "default",
                "resourceVersion": "202117",
                "selfLink": "/api/v1/namespaces/default/services/qotm-v2",
                "uid": "0cf4a4a5-ff00-11e8-9839-080027ced2f4"
            },
   ......
}

展开
收起
k8s小能手 2018-12-14 17:14:08 2935 0
1 条回答
写回答
取消 提交回答
  • 整合最优质的专家资源和技术资料,问答解疑

    kubectl get -f quotem_v2.yaml -o json | jq '.items[] | select(.kind=="Service")'

    2019-07-17 23:21:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载

相关镜像