Kubectl get field-selector Support

From NovaOrdis Knowledge Base
Revision as of 18:21, 17 May 2021 by Ovidiu (talk | contribs) (→‎Overview)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

External

Internal

Overview

kubectl get ... --field-selector <expression>

--field-selector specifies a selector (field query) to filter the result on. It supports the expressions containing '=', '==', and '!=', which can be applied to multiple fields.

--field-selector key1=value1,key2=value2,key3!=value3

The server only supports a limited number of field queries per each resource type. Supported fields vary per type. For example, attempting to query a PV for spec.claimRef.name fails with:

Error from server (BadRequest): Unable to find "/v1, Resource=persistentvolumes" that match label selector "", field selector "spec.claimRef.name=something": "spec.claimRef.name" is not a known field selector: only "metadata.name", "metadata.namespace"

Note that you may be able to obtain the results expected from a field selector by using JSONPath filter expressions. For more details, see:

kubectl get JSONPath Filter Expressions

Supported Fields for Field Selectors

  • PVs: metadata.name, metadata.namespace.

Usage Examples

kubectl get pods --all-namespaces -o wide --field-selector spec.nodeName=<node>