代码之家  ›  专栏  ›  技术社区  ›  ahmet alp balkan

如何使用Kubernetes字段选择器查询ownerreference

  •  0
  • ahmet alp balkan  · 技术社区  · 5 年前

    Kubernetes得到的API是否真正支持 fieldSelector parameter

    例如,我有一个类似豆荚的:

    apiGroup: v1
    kind: Pod
    metadata:
      ownerReferences:
      - apiVersion: apps/v1
        blockOwnerDeletion: true
        controller: true
        kind: ReplicaSet
        name: grpc-ping-r7f8r-deployment-54d688d777
        uid: 262bab1a-1c79-11ea-8e23-42010a800016
    

    我能做点什么吗

    kubectl get pods --field-selector 'metadata.ownerReferences.uid=262bab1a-1c79-11ea-8e23-42010a800016'
    

    field label not supported: metadata.ownerReferences.uid ). 我想原因是 ownerReferences 是数组字段本身。我也试过,但没成功:

    • metadata.ownerReferences[*].uid=
    • metadata.ownerReferences[].uid=

    我可能会尝试clientgosdkforkubernetesapi,但我怀疑它不会因为同样的原因而工作。

    0 回复  |  直到 5 年前
        1
  •  2
  •   Kamol Hasan    5 年前

    这个 --field-selector 只适用于某些有限的字段。

    其中包括:

    "metadata.name",
    "metadata.namespace",
    "spec.nodeName",
    "spec.restartPolicy",
    "spec.schedulerName",
    "spec.serviceAccountName",
    "status.phase",
    "status.podIP",
    "status.podIPs",
    "status.nominatedNodeName"
    

    jq . 这里有一个命令,我用来列出所有就绪的节点。它演示了要查找的数组字段的使用。

    $ kubectl get nodes -o json | jq -r '.items[] | select(.status.conditions[].type=="Ready") | .metadata.name '
    
    master-0
    node-1
    node-3
    
    推荐文章