Skip to content

Commit 4cd3c27

Browse files
authored
Merge pull request #51721 from jhonmike/issue-51720
[pt-br] Update /content/pt-br/docs/concepts/architecture/controller.md
2 parents 40a662c + b93a57c commit 4cd3c27

File tree

1 file changed

+106
-97
lines changed

1 file changed

+106
-97
lines changed

content/pt-br/docs/concepts/architecture/controller.md

Lines changed: 106 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -9,149 +9,158 @@ weight: 30
99
Em robótica e automação um _control loop_, ou em português _ciclo de controle_, é
1010
um ciclo não terminado que regula o estado de um sistema.
1111

12-
Um exemplo de ciclo de controle é um termostato de uma sala.
12+
Aqui está um exemplo de um ciclo de controle: um termostato em uma sala.
1313

1414
Quando você define a temperatura, isso indica ao termostato
15-
sobre o seu *estado desejado*. A temperatura ambiente real é o
16-
*estado atual*. O termostato atua de forma a trazer o estado atual
15+
sobre o seu _estado desejado_. A temperatura ambiente real é o
16+
_estado atual_. O termostato atua para trazer o estado atual
1717
mais perto do estado desejado, ligando ou desligando o equipamento.
1818

1919
{{< glossary_definition term_id="controller" length="short">}}
2020

21-
22-
23-
2421
<!-- body -->
2522

26-
## Padrão Controlador (Controller pattern)
23+
## Padrão Controlador
2724

2825
Um controlador rastreia pelo menos um tipo de recurso Kubernetes.
29-
Estes [objetos](/docs/concepts/overview/working-with-objects/kubernetes-objects/#kubernetes-objects)
30-
têm um campo *spec* que representa o *estado desejado*.
31-
O(s) controlador(es) para aquele recurso são responsáveis por trazer o *estado atual*
32-
mais perto do *estado desejado*.
26+
Estes {{< glossary_tooltip text="objetos" term_id="object" >}}
27+
têm um campo spec que representa o estado desejado. O(s)
28+
controlador(es) para aquele recurso são responsáveis por fazer o estado atual
29+
se aproximar daquele estado desejado.
3330

34-
O controlador pode executar uma ação ele próprio, ou,
35-
o que é mais comum, no Kubernetes, o controlador envia uma mensagem para o
36-
{{< glossary_tooltip text="API server" term_id="kube-apiserver" >}} (servidor de API) que tem
37-
efeitos colaterais úteis. Você vai ver exemplos disto abaixo.
31+
O controlador pode executar a ação ele próprio; mais comumente, no Kubernetes,
32+
um controlador enviará mensagens para o
33+
{{< glossary_tooltip text="servidor de API" term_id="kube-apiserver" >}} que têm
34+
efeitos colaterais úteis. Você verá exemplos disso abaixo.
3835

39-
### Controlador via API server
36+
{{< comment >}}
37+
Alguns controladores embutidos, como o controlador de namespace, atuam em objetos
38+
que não têm um spec. Para simplicidade, esta página omite explicar esse
39+
detalhe.
40+
{{< /comment >}}
41+
42+
### Controle via servidor de API
4043

4144
O controlador {{< glossary_tooltip term_id="job" >}} é um exemplo de um
42-
controlador Kubernetes embutido. Controladores embutidos gerem estados através da
43-
interação com o *cluster API server*.
44-
45-
*Job* é um recurso do Kubernetes que é executado em um
46-
*{{< glossary_tooltip term_id="pod" >}}*, ou talvez vários *Pods*, com o objetivo de
47-
executar uma tarefa e depois parar.
48-
49-
(Uma vez [agendado](/docs/concepts/scheduling/), objetos *Pod* passam a fazer parte
50-
do *estado desejado* para um kubelet.
51-
52-
Quando o controlador *Job* observa uma nova tarefa ele garante que,
53-
algures no seu *cluster*, os kubelets num conjunto de nós (*Nodes*) estão correndo o número
54-
correto de *Pods* para completar o trabalho.
55-
O controlador *Job* não corre *Pods* ou *containers* ele próprio.
56-
Em vez disso, o controlador *Job* informa o *API server* para criar ou remover *Pods*.
57-
Outros componentes do plano de controle
58-
({{< glossary_tooltip text="control plane" term_id="control-plane" >}})
59-
atuam na nova informação (existem novos *Pods* para serem agendados e executados),
45+
controlador embutido do Kubernetes. Controladores embutidos gerenciam estado através da
46+
interação com o servidor de API do cluster.
47+
48+
Job é um recurso do Kubernetes que executa um
49+
{{< glossary_tooltip term_id="pod" >}}, ou talvez vários Pods, para realizar
50+
uma tarefa e depois parar.
51+
52+
(Uma vez [agendado](/docs/concepts/scheduling-eviction/), objetos Pod se tornam parte do
53+
estado desejado para um kubelet).
54+
55+
Quando o controlador Job vê uma nova tarefa, ele garante que, em algum lugar
56+
no seu cluster, os kubelets em um conjunto de Nodes estão executando o número
57+
correto de Pods para realizar o trabalho.
58+
O controlador Job não executa nenhum Pod ou container
59+
ele próprio. Em vez disso, o controlador Job informa o servidor de API para criar ou remover
60+
Pods.
61+
Outros componentes no
62+
{{< glossary_tooltip text="control plane" term_id="control-plane" >}}
63+
atuam na nova informação (existem novos Pods para serem agendados e executados),
6064
e eventualmente o trabalho é feito.
6165

62-
Após ter criado um novo *Job*, o *estado desejado* é que esse Job seja completado.
63-
O controlador *Job* faz com que o *estado atual* para esse *Job* esteja mais perto do seu
64-
*estado desejado*: criando *Pods* que fazem o trabalho desejado para esse *Job* para que
65-
o *Job* fique mais perto de ser completado.
66+
Após criar um novo Job, o estado desejado é que esse Job seja completado.
67+
O controlador Job faz com que o estado atual para esse Job esteja mais próximo do seu
68+
estado desejado: criando Pods que fazem o trabalho que você queria para esse Job, para que
69+
o Job esteja mais próximo da conclusão.
6670

6771
Controladores também atualizam os objetos que os configuram.
68-
Por exemplo: assim que o trabalho de um *Job* está completo,
69-
o controlador *Job* atualiza esse objeto *Job* para o marcar como `Finished` (terminado).
72+
Por exemplo: uma vez que o trabalho de um Job está completo,
73+
o controlador Job atualiza esse objeto Job para marcá-lo como `Finished`.
7074

71-
(Isto é um pouco como alguns termostatos desligam uma luz para
72-
indicar que a temperatura da sala está agora na temperatura que foi introduzida).
75+
(Isso é um pouco como alguns termostatos desligam uma luz para
76+
indicar que a sala está agora na temperatura que você definiu).
7377

7478
### Controle direto
7579

76-
Em contraste com *Job*, alguns controladores necessitam de efetuar
77-
mudanças fora do *cluster*.
80+
Em contraste com Job, alguns controladores precisam fazer mudanças em
81+
coisas fora do seu cluster.
82+
83+
Por exemplo, se você usar um ciclo de controle para garantir que existem
84+
{{< glossary_tooltip text="Nodes" term_id="node" >}} suficientes
85+
no seu cluster, então esse controlador precisa de algo fora do
86+
cluster atual para configurar novos Nodes quando necessário.
7887

79-
Por exemplo, se usar um ciclo de controle para garantir que existem
80-
*{{< glossary_tooltip text="Nodes" term_id="node" >}}* suficientes
81-
no seu *cluster*, então esse controlador necessita de algo exterior ao
82-
*cluster* atual para configurar novos *Nodes* quando necessário.
88+
Controladores que interagem com estado externo encontram seu estado desejado a partir do
89+
servidor de API, então comunicam diretamente com um sistema externo para trazer
90+
o estado atual mais próximo da linha.
8391

84-
Controladores que interagem com estados externos encontram o seu estado desejado
85-
a partir do *API server*, e então comunicam diretamente com o sistema externo para
86-
trazer o *estado atual* mais próximo do desejado.
92+
(Existe na verdade um [controlador](https://github.com/kubernetes/autoscaler/)
93+
que escala horizontalmente os nodes no seu cluster.)
8794

88-
(Existe um controlador que escala horizontalmente nós no seu *cluster*.
89-
Veja [Escalamento automático do cluster](/docs/tasks/administer-cluster/cluster-management/#cluster-autoscaling))
95+
O ponto importante aqui é que o controlador faz algumas mudanças para trazer
96+
seu estado desejado, e então relata o estado atual de volta ao servidor de API do seu cluster.
97+
Outros ciclos de controle podem observar esses dados relatados e tomar suas próprias ações.
98+
99+
No exemplo do termostato, se a sala estiver muito fria, então um controlador diferente
100+
pode também ligar um aquecedor de proteção contra geada. Com clusters Kubernetes, o control plane
101+
indiretamente trabalha com ferramentas de gerenciamento de endereços IP, serviços de armazenamento,
102+
APIs de provedores de nuvem, e outros serviços através de
103+
[estender o Kubernetes](/docs/concepts/extend-kubernetes/) para implementar isso.
90104

91105
## Estado desejado versus atual {#desired-vs-current}
92106

93-
Kubernetes tem uma visão *cloud-native* de sistemas e é capaz de manipular
107+
O Kubernetes tem uma visão cloud-native de sistemas, e é capaz de lidar com
94108
mudanças constantes.
95109

96-
O seu *cluster* pode mudar em qualquer momento à medida que as ações acontecem e
97-
os ciclos de controle corrigem falhas automaticamente. Isto significa que,
98-
potencialmente, o seu *cluster* nunca atinge um estado estável.
110+
Seu cluster pode estar mudando a qualquer momento conforme o trabalho acontece e
111+
ciclos de controle corrigem falhas automaticamente. Isso significa que,
112+
potencialmente, seu cluster nunca atinge um estado estável.
99113

100-
Enquanto os controladores no seu *cluster* estiverem rodando e forem capazes de
101-
fazer alterações úteis, não importa se o estado é estável ou se é instável.
114+
Enquanto os controladores do seu cluster estiverem executando e forem capazes de fazer
115+
mudanças úteis, não importa se o estado geral é estável ou não.
102116

103117
## Design
104118

105-
Como um princípio do seu desenho, o Kubernetes usa muitos controladores onde cada
106-
um gerencia um aspecto particular do estado do *cluster*. Comumente, um particular
107-
ciclo de controle (controlador) usa uma espécie de recurso como o seu *estado desejado*,
108-
e tem uma espécie diferente de recurso que o mesmo gere para garantir que esse *estado desejado*
109-
é cumprido.
119+
Como um princípio do seu design, o Kubernetes usa muitos controladores que cada um gerencia
120+
um aspecto particular do estado do cluster. Mais comumente, um ciclo de controle particular
121+
(controlador) usa um tipo de recurso como seu estado desejado, e tem um tipo diferente
122+
de recurso que ele gerencia para fazer esse estado desejado acontecer. Por exemplo,
123+
um controlador para Jobs rastreia objetos Job (para descobrir novo trabalho) e objetos Pod
124+
(para executar os Jobs, e então ver quando o trabalho termina). Neste caso
125+
algo mais cria os Jobs, enquanto o controlador Job cria Pods.
110126

111-
É útil que haja controladores simples em vez de um conjunto monolítico de ciclos de controle
112-
que estão interligados. Controladores podem falhar, então o Kubernetes foi desenhado para
127+
É útil ter controladores simples em vez de um conjunto monolítico de ciclos de controle
128+
que estão interligados. Controladores podem falhar, então o Kubernetes foi projetado para
113129
permitir isso.
114130

115-
Por exemplo: um controlador de *Jobs* rastreia objetos *Job* (para
116-
descobrir novos trabalhos) e objetos *Pod* (para correr o *Jobs*, e então
117-
ver quando o trabalho termina). Neste caso outra coisa cria os *Jobs*,
118-
enquanto o controlador *Job* cria *Pods*.
119-
120131
{{< note >}}
121-
Podem existir vários controladores que criam ou atualizam a mesma espécie (kind) de objeto.
122-
Atrás das cortinas, os controladores do Kubernetes garantem que eles apenas tomam
123-
atenção aos recursos ligados aos seus recursos controladores.
132+
Pode haver vários controladores que criam ou atualizam o mesmo tipo de objeto.
133+
Nos bastidores, os controladores do Kubernetes garantem que eles apenas prestam atenção
134+
aos recursos ligados ao seu recurso controlador.
124135

125-
Por exemplo, você pode ter *Deployments* e *Jobs*; ambos criam *Pods*.
126-
O controlador de *Job* não apaga os *Pods* que o seu *Deployment* criou,
136+
Por exemplo, você pode ter Deployments e Jobs; ambos criam Pods.
137+
O controlador Job não exclui os Pods que seu Deployment criou,
127138
porque existe informação ({{< glossary_tooltip term_id="label" text="labels" >}})
128-
que os controladores podem usar para diferenciar esses *Pods*.
139+
que os controladores podem usar para diferenciar esses Pods.
129140
{{< /note >}}
130141

131-
## Formas de rodar controladores {#running-controllers}
142+
## Formas de executar controladores {#running-controllers}
132143

133-
O Kubernetes vem com um conjunto de controladores embutidos que correm
134-
dentro do {{< glossary_tooltip term_id="kube-controller-manager" >}}.
135-
Estes controladores embutidos providenciam comportamentos centrais importantes.
144+
O Kubernetes vem com um conjunto de controladores embutidos que executam dentro do
145+
{{< glossary_tooltip term_id="kube-controller-manager" >}}. Estes
146+
controladores embutidos fornecem comportamentos centrais importantes.
136147

137-
O controlador *Deployment* e o controlador *Job* são exemplos de controladores
138-
que veem como parte do próprio Kubernetes (controladores "embutidos").
139-
O Kubernetes deixa você correr o plano de controle resiliente, para que se qualquer
140-
um dos controladores embutidos falhar, outra parte do plano de controle assume
141-
o trabalho.
148+
O controlador Deployment e o controlador Job são exemplos de controladores que
149+
vêm como parte do próprio Kubernetes (controladores "embutidos").
150+
O Kubernetes permite que você execute um control plane resiliente, para que se qualquer
151+
um dos controladores embutidos falhar, outra parte do control plane assumirá o trabalho.
142152

143-
Pode encontrar controladores fora do plano de controle, para extender o Kubernetes.
153+
Você pode encontrar controladores que executam fora do control plane, para estender o Kubernetes.
144154
Ou, se quiser, pode escrever um novo controlador você mesmo.
145-
Pode correr o seu próprio controlador como um conjunto de *Pods*,
146-
ou externo ao Kubernetes. O que encaixa melhor vai depender no que esse
147-
controlador faz em particular.
148-
149-
155+
Você pode executar seu próprio controlador como um conjunto de Pods,
156+
ou externamente ao Kubernetes. O que se encaixa melhor dependerá do que esse
157+
controlador particular faz.
150158

151159
## {{% heading "whatsnext" %}}
152160

153-
* Leia mais sobre o [plano de controle do Kubernetes](/docs/concepts/#kubernetes-control-plane)
154-
* Descubra alguns dos [objetos Kubernetes](/docs/concepts/#kubernetes-objects) básicos.
155-
* Aprenda mais sobre [API do Kubernetes](/docs/concepts/overview/kubernetes-api/)
156-
* Se pretender escrever o seu próprio controlador, veja [Padrões de Extensão](/docs/concepts/extend-kubernetes/extend-cluster/#extension-patterns)
157-
161+
- Leia sobre o [control plane do Kubernetes](/docs/concepts/architecture/#control-plane-components)
162+
- Descubra alguns dos [objetos Kubernetes](/docs/concepts/overview/working-with-objects/) básicos
163+
- Saiba mais sobre a [API do Kubernetes](/docs/concepts/overview/kubernetes-api/)
164+
- Se quiser escrever seu próprio controlador, veja
165+
[padrões de extensão do Kubernetes](/docs/concepts/extend-kubernetes/#extension-patterns)
166+
e o repositório [sample-controller](https://github.com/kubernetes/sample-controller)

0 commit comments

Comments
 (0)