簡體   English   中英

如何使用kubectl的字段選擇器按任意字段進行搜索?

[英]How to search by arbitrary fields using field selector with kubectl?

在此doc文檔中未列出支持的字段,我無法正確找到它們。 通過一些試驗和實驗,我注意到以下幾點:

這很好用,並找到一些pods:

kubectl get pods --field-selector=spec.restartPolicy=Never

但這會產生錯誤:

kubectl get pods --field-selector=spec.serviceAccount=default

No resources found.
Error from server (BadRequest): Unable to find {"" "v1" "pods"} that match label selector "", field selector "spec.serviceAccount=default": field label not supported: spec.serviceAccount

那怎么決定呢? 我知道我可以找到JSONPath,但它是客戶端過濾AFAIK。

您可以使用以下查詢選擇serviceAccount

kubectl get pods --field-selector=spec.serviceAccountName="default"

--field-selector目前僅選擇基於相等的值,並且它對基於字段選擇pod的支持非常有限。 --field-selector支持以下字段:

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

如您所知,您需要依賴jsonpath來選擇除上述字段之外的任何其他字段。

您可以訪問以下鏈接以了解更多信息:

https://github.com/kubernetes/kubernetes/blob/master/pkg/apis/core/v1/conversion.go#L160-L167] 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM