Skip to content

Commit 2ad2dbe

Browse files
authored
Merge pull request #30863 from lcbcFoo/pt_br_field_selectors
Add pt-br/docs/concepts/overview/working-with-objects/field-selectors.md
2 parents 9a76356 + 0da75b0 commit 2ad2dbe

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
title: Seletores de Campos
3+
weight: 60
4+
---
5+
6+
7+
Os _Seletores de Campos_ permitem que você [selecione recursos do Kubernetes](/docs/concepts/overview/working-with-objects/kubernetes-objects) baseado no valor de um ou mais campos de um recurso. Seguem alguns exemplos de buscas utilizando seletores de campos:
8+
9+
* `metadata.name=my-service`
10+
* `metadata.namespace!=default`
11+
* `status.phase=Pending`
12+
13+
O comando `kubectl`, mostrado a seguir, seleciona todos os Pods nos quais o valor do campo [`status.phase`](/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase) é `Running`:
14+
15+
```shell
16+
kubectl get pods --field-selector status.phase=Running
17+
```
18+
19+
{{< note >}}
20+
Seletores de campos são essencialmente *filtros* de recursos. Por padrão, nenhum seletor/filtro é aplicado, de forma que todos os recursos do tipo especificado são selecionados. Isso faz com que as seguintes pesquisas utilizando `kubectl` sejam equivalentes: `kubectl get pods` e `kubectl get pods --field-selector ""`
21+
{{< /note >}}
22+
23+
## Campos suportados
24+
25+
Os campos de seleção suportados variam dependendo do tipo de recurso Kubernetes. Todos os tipos de recursos suportam os campos `metadata.name` e `metadata.namespace`. Utilizar campos não suportados produz um erro. Como por exemplo:
26+
27+
```shell
28+
kubectl get ingress --field-selector foo.bar=baz
29+
```
30+
```
31+
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"
32+
```
33+
34+
## Operadores suportados
35+
36+
Você pode utilizar os operadores `=`, `==` e `!=` com seletores de campos (`=` e `==` significam a mesma coisa). Por exemplo, o comando `kubectl` a seguir seleciona todos os Kubernetes Services que não estão no namespace `default`:
37+
38+
```shell
39+
kubectl get services --all-namespaces --field-selector metadata.namespace!=default
40+
```
41+
42+
## Seletores em cadeia
43+
44+
Assim como [label](/docs/concepts/overview/working-with-objects/labels) e outros tipos de seletores, podem ser utilizados em cadeia através de uma lista separada por vírgula. O comando `kubectl` a seguir seleciona todos os Pods nos quais `status.phase` não é igual a `Running` e `spec.restartPolicy` é igual a `Always`
45+
46+
```shell
47+
kubectl get pods --field-selector=status.phase!=Running,spec.restartPolicy=Always
48+
```
49+
50+
## Múltiplos tipos de recursos
51+
52+
Você pode utilizar seletores de campos através de múltiplos tipos de recursos. Por exemplo, o comando `kubectl` a seguir seleciona todos Statefulsets e Services que não estão presentes no namespace `default`.
53+
54+
```shell
55+
kubectl get statefulsets,services --all-namespaces --field-selector metadata.namespace!=default
56+
```

0 commit comments

Comments
 (0)