Skip to content

Commit 4a2a68a

Browse files
add [pt-br] /content/pt-br/docs/concepts/overview/working-with-objects/kubernetes-objects.md (#35646)
* add [pt-br] translation to kubernetes-objects.md Co-authored-by: lorranyoliveira<[email protected]> * [pt-br] fix erros in the document: kubernetes-objects.md Co-authored-by: lorranyoliveira<[email protected]> * [pt-br] fix erros in the document: kubernetes-objects.md
1 parent 6ac4428 commit 4a2a68a

File tree

2 files changed

+101
-0
lines changed

2 files changed

+101
-0
lines changed
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
---
2+
title: Entendendo os objetos do Kubernetes
3+
content_type: concept
4+
weight: 10
5+
card:
6+
name: concepts
7+
weight: 40
8+
---
9+
<!-- overview -->
10+
Esta página explica como os objetos do Kubernetes são representados na API do Kubernetes e como você pode expressá-los no formato `.yaml`.
11+
12+
<!-- body -->
13+
## Entendendo os objetos do Kubernetes {#kubernetes-objects}
14+
15+
*Os objetos do Kubernetes* são entidades persistentes no Kubernetes. Kubernetes utiliza estas entidades para representar o estado do cluster. Especificamente, eles podem descrever:
16+
17+
* Quais aplicativos estão sendo executados (e em quais nós).
18+
* Os recursos disponíveis para esses aplicativos
19+
* As políticas acerca de como esses aplicativos se comportam, como políticas de reinicialização e tolerâncias a falhas.
20+
21+
Um objeto do Kubernetes é um “registro de intenção”-uma vez criado o objeto, o sistema do Kubernetes trabalha constantemente para garantir que este objeto existe. Ao criar um objeto, você está efetivamente falando para o sistema do Kubernetes como você quer que a carga do seu cluster seja. Este é o *estado desejado* do seu cluster.
22+
23+
Para trabalhar com objetos do Kubernetes seja para criar, modificar ou deletar eles, você precisará usar a [API do Kubernetes](/docs/concepts/overview/kubernetes-api/). Quando você usa a interface de linha de comando do `kubectl`, por exemplo, o CLI faz as chamadas necessárias na API do Kubernetes para você. Você também pode usar a API do Kubernetes diretamente no seu próprio programa usando uma das [Bibliotecas](/docs/reference/using-api/client-libraries/).
24+
25+
### Especificação e status do objeto
26+
27+
Quase todos os objetos do Kubernetes incluem dois campos de objetos aninhados que governam a configuração do objeto: a *`especificação`* do objeto e o *`status`* do objeto. Para objetos que têm especificação, você tem que definir isso quando você cria o objeto, fornecendo uma descrição das características que você quer que o recurso tenha: o seu _estado desejado_.
28+
29+
O `status` descreve o _estado atual_ do objeto, fornecido e atualizado pelo Kubernetes e seus componentes. A {{< glossary_tooltip text="camada de gerenciamento" term_id="control-plane" >}} do Kubernetes gerêncai continuamente e ativamente o real estado para corresponder ao estado desejado que você forneceu.
30+
31+
Por exemplo, no Kubernetes, o {{< glossary_tooltip text="Deployment" term_id="deployment" >}} é um objeto que pode representar uma aplicação executando no seu cluster. Quando você cria o Deployment, você pode alterar a `especificação`para definir que você quer três réplicas da aplicação em execução simultânea. O Kubernetes lê as especificações do Deployment e inicia três instâncias do seu aplicativo desejado, atualizando o status para corresponder às suas especificações. Se uma dessas instâncias falhar (um status mudar), o Kubernetes responde as diferenças entre as especificações e o status fazendo uma correção-neste caso, iniciando uma instância de substituição.
32+
33+
Para mais informações sobre especificações do objeto, status e metadados, veja [Kubernetes API Conventions](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md).
34+
35+
### Descrevendo um objeto Kubernetes
36+
37+
Quando se cria um objeto do Kubernetes, deve-se fornecer a especificação do objeto que descreve seu estado desejado, bem como algumas informações básicas sobre o objeto (como um nome, por exemplo). Quando utiliza a API Kubernetes para criar o objeto (diretamente ou via `kubectl`), essa solicitação de API deve incluir essa informação como JSON no corpo da solicitação. **Na maioria das vezes, você fornece as informações ao comando `kubectl` em um arquivo .yaml**. O comando`kubectl` converte a informação para JSON ao fazer a requisição para a API.
38+
39+
Aqui está um exemplo de arquivo `.yaml` que mostra os campos necessários e as especificações de objeto para uma implatação Kubernetes:
40+
41+
{{< codenew file="application/deployment.yaml" >}}
42+
43+
Uma maneira de criar um Deployment usando um arquivo `.yaml` como o representado acima é usar o comando [`kubectl apply`](/docs/reference/generated/kubectl/kubectl-commands#apply
44+
) na interface de linha de comando `kubectl`, passando o arquivo `.yaml` como argumento. Aqui está um exemplo:
45+
46+
```shell
47+
kubectl apply -f https://k8s.io/examples/application/deployment.yaml
48+
```
49+
50+
A saída será similar a esta:
51+
52+
```
53+
deployment.apps/nginx-deployment created
54+
```
55+
56+
### Campos obrigatórios
57+
58+
No arquivo `.yaml` para o objeto Kubernetes que pretende criar, você precisará definir valores para os seguintes campos:
59+
60+
* `apiVersion` - Qual a versão de API do objeto que será usado no Kubernetes para criar esse objeto.
61+
* `kind` - Qual tipo de objeto pretende criar.
62+
* `metadata` - Dados que ajudam a identificar de forma única o objeto, incluindo uma string `nome`, `UID` e um `namespace`.
63+
* `spec` - Que estado deseja para o objeto.
64+
65+
O formato preciso do objeto `spec` é diferente para cada objeto Kubernetes, e contém campos aninhados específicos para aquele objeto. A documentação de [referência da API do Kubernetes](/docs/reference/kubernetes-api/) pode ajudar a encontrar o formato de especificação para todos os objetos que você pode criar usando Kubernetes.
66+
67+
Por exemplo, veja o campo de [`spec` field](/docs/reference/kubernetes-api/workload-resources/pod-v1/#PodSpec) para a referência Pod API.
68+
Para cada Pod, o campo `.spec` especifica o pod e seu estado desejado (como o nome da imagem do contêiner para cada recipiente dentro daquela cápsula).
69+
Outro exemplo de especificação de um objeto é o
70+
[campo `spec` ](/docs/reference/kubernetes-api/workload-resources/stateful-set-v1/#StatefulSetSpec).
71+
Para o StatefulSet, o campo `.spec` especifica o StatefulSet e seu estado desejado.
72+
Dentro do `.spec` de um StatefulSet está um [template](/docs/concepts/workloads/pods/#pod-templates)
73+
para objetos de Pod. Esse modelo descreve os Pods que o controlador StatefulSet criará para
74+
satisfazer a especificação do StatefulSet. Diferentes tipos de objetos também podem ter diferentes
75+
`.status`; novamente, as páginas de referência API detalham a estrutura daquele campo `.status`,
76+
e seu conteúdo para cada tipo diferente de objeto.
77+
78+
## {{% heading "whatsnext" %}}
79+
80+
Aprenda sobre os mais importantes objetos básicos Kubernetes, como o [Pod](/docs/concepts/workloads/pods).
81+
Aprenda sobre as [controladoras](/docs/concepts/architecture/controller/) do Kubernetes.
82+
[Usando a API Kubernetes](/docs/reference/using-api) explica mais alguns conceitos da API.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: nginx-deployment
5+
spec:
6+
selector:
7+
matchLabels:
8+
app: nginx
9+
replicas: 2 # diz ao deployment para executar 2 pods que correspondam ao modelo
10+
template:
11+
metadata:
12+
labels:
13+
app: nginx
14+
spec:
15+
containers:
16+
- name: nginx
17+
image: nginx:1.14.2
18+
ports:
19+
- containerPort: 80

0 commit comments

Comments
 (0)