--- title: Selektor Field weight: 60 --- Selektor *field* memungkinkan kamu untuk [memilih (*select*) *resource* Kubernetes](/id/docs/concepts/overview/working-with-objects/kubernetes-objects) berdasarkan nilai dari satu atau banyak *field resource*. Di bawah ini merupakan contoh dari beberapa *query* selektor *field*: * `metadata.name=my-service` * `metadata.namespace!=default` * `status.phase=Pending` Perintah `kubectl` di bawah ini memilih semua Pod dengan *field* [`status.phase`](/id/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase) yang bernilai `Running`: ```shell kubectl get pods --field-selector status.phase=Running ``` {{< note >}} Pada dasarnya, selektor *field* merupakan filter dari *resource*. Secara *default*, tidak ada selektor/filter apapun yang diterapkan. Artinya, semua *resource* dengan tipe apapun akan terpilih. Akibatnya, *query* dengan perintah `kubectl` di bawah ini akan memberikan hasil yang sama: ```shell kubectl get pods kubectl get pods --field-selector "" ``` {{< /note >}} ## *Field* yang didukung Selektor-selektor *field* yang didukung oleh Kubernetes bervariasi tergantung dari tipe *resource*. Semua tipe *resource* mendukung *field* `metadata.name` dan `metadata.namespace`. Jika kamu menggunakan selektor *field* yang tidak didukung, maka akan terjadi error. Contohnya: ```shell 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" ``` ## Operator yang didukung Kamu dapat menggunakan operator `=`, `==`, dan `!=` pada selektor *field* (`=` dan `==` punya arti yang sama). Sebagai contoh, perintah `kubectl` ini memilih semua Kubernetes Service yang tidak terdapat pada *namespace* `default`: ```shell kubectl get services --field-selector metadata.namespace!=default ``` ## Selektor berantai Seperti halnya [label](/id/docs/concepts/overview/working-with-objects/labels) dan selektor-selektor lainnya, kamu dapat membuat selektor *field* berantai (*chained*) dengan *list* yang dipisahkan oleh koma. Perintah `kubectl` di bawah ini memilih semua Pod dengan `status.phase` tidak sama dengan `Running` dan *field* `spec.restartPolicy` sama dengan `Always`: ```shell kubectl get pods --field-selector=status.phase!=Running,spec.restartPolicy=Always ``` ## *Resource* dengan beberapa tipe Kamu dapat menggunakan selektor-selektor *field* dengan beberapa tipe *resource* sekaligus. Perintah `kubectl` di bawah ini memilih semua Statefulset dan Service yang tidak terdapat pada *namespace* `default`: ```shell kubectl get statefulsets,services --all-namespaces --field-selector metadata.namespace!=default ```