欄位選取器
欄位選取器 可讓您根據一或多個資源欄位的值來選取 Kubernetes 物件。以下是一些欄位選取器查詢的範例
metadata.name=my-service
metadata.namespace!=default
status.phase=Pending
此 kubectl
命令選取 status.phase
欄位值為 Running
的所有 Pod
kubectl get pods --field-selector status.phase=Running
注意
欄位選取器本質上是資源篩選器。依預設,不會套用任何選取器/篩選器,這表示會選取指定類型的所有資源。這使得kubectl
查詢 kubectl get pods
和 kubectl get pods --field-selector ""
相等。支援的欄位
支援的欄位選取器因 Kubernetes 資源類型而異。所有資源類型都支援 metadata.name
和 metadata.namespace
欄位。使用不支援的欄位選取器會產生錯誤。例如
kubectl get ingress --field-selector foo.bar=baz
Error from server (BadRequest): Unable to find "ingresses" that match label selector "", field selector "foo.bar=baz": "foo.bar" is not a known field selector: only "metadata.name", "metadata.namespace"
支援欄位列表
種類 | 欄位 |
---|---|
Pod | spec.nodeName spec.restartPolicy spec.schedulerName spec.serviceAccountName spec.hostNetwork status.phase status.podIP status.nominatedNodeName |
事件 | involvedObject.kind involvedObject.namespace involvedObject.name involvedObject.uid involvedObject.apiVersion involvedObject.resourceVersion involvedObject.fieldPath reason reportingComponent source type |
密鑰 | type |
命名空間 | status.phase |
ReplicaSet | status.replicas |
ReplicationController | status.replicas |
工作 | status.successful |
節點 | spec.unschedulable |
CertificateSigningRequest | spec.signerName |
自訂資源欄位
所有自訂資源類型都支援 metadata.name
和 metadata.namespace
欄位。
此外,CustomResourceDefinition 的 spec.versions[*].selectableFields
欄位宣告自訂資源中的哪些其他欄位可以用於欄位選取器。請參閱 自訂資源的可選欄位,以取得有關如何將欄位選取器與 CustomResourceDefinitions 搭配使用的更多資訊。
支援的運算子
您可以將 =
、==
和 !=
運算子與欄位選取器搭配使用 (=
和 ==
意義相同)。例如,此 kubectl
命令選取不在 default
命名空間中的所有 Kubernetes 服務
kubectl get services --all-namespaces --field-selector metadata.namespace!=default
鏈式選取器
與 標籤 和其他選取器一樣,欄位選取器可以鏈結在一起作為逗號分隔的列表。此 kubectl
命令選取 status.phase
不等於 Running
且 spec.restartPolicy
欄位等於 Always
的所有 Pod
kubectl get pods --field-selector=status.phase!=Running,spec.restartPolicy=Always
多個資源類型
您可以跨多個資源類型使用欄位選取器。此 kubectl
命令選取不在 default
命名空間中的所有 Statefulset 和服務
kubectl get statefulsets,services --all-namespaces --field-selector metadata.namespace!=default
上次修改時間:2024 年 10 月 31 日上午 10:47 PST:移除穩定功能的欄位閘道資訊,將詳細資訊新增至欄位選取器文件 (2b996e4434)