From d545b8be416b57ee0398b28993abcbac6e3545e5 Mon Sep 17 00:00:00 2001 From: Joao Luna Date: Mon, 23 Mar 2020 12:38:41 +0000 Subject: [PATCH 1/8] Add docs/concepts/architecture/controller.md in portuguese --- .../docs/concepts/architecture/controller.md | 162 ++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 content/pt/docs/concepts/architecture/controller.md diff --git a/content/pt/docs/concepts/architecture/controller.md b/content/pt/docs/concepts/architecture/controller.md new file mode 100644 index 0000000000..02efc70f71 --- /dev/null +++ b/content/pt/docs/concepts/architecture/controller.md @@ -0,0 +1,162 @@ +--- +title: Controladores +content_template: templates/concept +weight: 30 +--- + +{{% capture overview %}} + +Em robótica e automação, um _control loop_ ou em português _ciclo de controlo_ é +um ciclo não terminado que regula o estado de um sistema. + +Um exemplo de um ciclo de controlo é um termostato de uma sala. + +Quando você define a temperatura, isso indica ao termostato +sobre o seu *estado desejado*. A temperatura ambiente real é o +*estado atual*. O termostato atua de forma a trazer o estado atual +mais perto do estado desejado, ligando ou desligando o equipamento. + +{{< glossary_definition term_id="controller" length="short">}} + +{{% /capture %}} + + +{{% capture body %}} + +## Padrão de controlo (Controller pattern) + +Um controlador rastreia pelo menos um tipo de recurso Kubernetes. +Estes [objetos](/docs/concepts/overview/working-with-objects/kubernetes-objects/#kubernetes-objects) +têm um campo *spec* (especificação) que representa o *estado desejado*. +Os controladores para esse recurso são responsáveis por trazer o *estado atual* +mais perto do *estado desejado*. + +O controlador pode levar ele proprio a cabo a ação; é mais comum, no Kubernetes, +um controlador enviar uma mensagem para o +{{< glossary_tooltip text="API server" term_id="kube-apiserver" >}} que tem +efeitos colaterais uteis. Você vai ver exemplos disto abaixo. + +{{< comment >}} +Alguns controladores embutidos, como é o caso do controlador *namespace*, atuam em objetos +que não têm uma especificação (*spec*). Por questões de simplicidade, esta página omite explicar +esse detalhe. +{{< /comment >}} + +### Controlador via API server + +O controlador {{< glossary_tooltip term_id="job" >}} é um exemplo de um +controlador Kubernetes embutido. Controladores embutidos gerem estados através da +interação com o *cluster API server*. + +*Job* é um recurso do Kubernetes que corre um +{{< glossary_tooltip term_id="pod" >}}, ou talvez vários *Pods*, com o objetivo de +executar uma tarefa e depois parar. + +(Uma vez [agendado](/docs/concepts/scheduling/), objetos *Pod* passam a fazer parte objects become part of the +do *estado desejado* para um kubelet. + +Quando o controlador *Job* observa uma nova tarefa ele garante que, +algures no seu *cluster*, os kubelets num conjunto de nós (*Nodes*) estão correndo o numero +correto de *Pods* para completar o trabalho. +O controlador *Job* não corre *Pods* ou *containers* ele próprio. +Em vez disso, o controlador *Job* informa o *API server* para criar ou remover *Pods*. +Outros componentes do plano de controle +({{< glossary_tooltip text="control plane" term_id="control-plane" >}}) +atuem na nova informação (existem novos *Pods* para serem agendados e executados), +e eventualmente o trabalho é feito. + +Após ter criado um novo *Job*, o *estado desejado* é que esse Job seja completado. +O controlador *Job* faz com que o *estado atual* para esse *Job* esteja mais perto do seu +*estado desejado*: creando *Pods* que fazem o trabalho desejado para esse *Job* para que +o *Job* fique mais perto de ser completado. + +Controladores também atualizam os objetos que os configuram. +Por exemplo: assim que o trabalho de um *Job* está completo, +o controlador *Job* atualiza esse objeto *Job* para o marcar como `Finished` (terminado). + +(Isto é um pouco como alguns termostatos desligam uma luz para +indicar que a temperatura da sala está agora na temperatura que foi introduzida). + +### Controlo direto + +Em contraste com *Job*, alguns controladores necessitam de efetuar +mudanças a coisas fora do *cluster*. + +Por exemplo, se usar um ciclo de controlo para garantir que existem +*{{< glossary_tooltip text="Nodes" term_id="node" >}}* suficientes +no seu *cluster*, então esse controlador necessita de algo exterior ao +*cluster* atual para configurar novos *Nodes* quando necessário. + +Controladores que interagem com estados externos encontram o seu estado desejado +a partir do *API server*, e então comunicam diretamente com o sistema externo para +trazer o *estado atual* mais próximo do desejado. + +(Existe um controlador que escala horizontalmente nós no seu *cluster*. +Veja [Escalamento automático do cluster](/docs/tasks/administer-cluster/cluster-management/#cluster-autoscaling)) + +## Estado desejado versus atual {#desired-vs-current} + +Kubernetes leva uma visão *cloud-native* de sistemas, e é capaz de manipular +mudanças constantes. + +O seu *cluster* pode mudar em qualquer altura à medida que o trabalho acontece e +os ciclos de controlo corrigem falhas automaticamente. Isto significa que, +potencialmente, o seu *cluster* nunca atinge um estado estável. + +Enquanto os controladores no seu *cluster* estiverem a correr e forem capazes de +fazer alterações uteis, não importa se o estado é estável ou se é instável. + +## Desenho + +Como um principio do seu desenho, o Kubernetes usa muitos controladores onde cada +um gere um aspeto particular do estado do *cluster*. Maioritariamente, um particular +ciclo de controlo (controlador) usa uma espécie de recurso como o seu *estado desejado*, +e tem uma espécie diferente de recurso que o mesmo gere para garantir que esse *estado desejado* +é cumprido. + +É util que haja controladores simples em vez de um conjunto monolítico de ciclos de controlo +que estão interligados. Controladores podem falhar, então o Kubernetes foi desenhado para +permitir isso. + +Por exemplo: um controlador de *Jobs* rastreia objetos *Job* (para +descobrir novos trabalhos) e objetos *Pod* (para correr o *Jobs*, e então +ver quando o trabalho termina). Neste caso outra coisa cria os *Jobs*, +enquanto o controlador *Job* cria *Pods*. + +{{< note >}} +Podem existir vários controladores que criam ou atualizam a mesma espécie (kind) de objeto. +Atrás das cortinas, os controladores do Kubernetes garantem que eles apenas tomam +atenção aos recursos ligados aos seus recursos controladores. + +Por exemplo, você pode ter *Deployments* e *Jobs*; ambos criam *Pods*. +O controlador de *Job* não apaga os *Pods* que o seu *Deployment* criou, +porque existe informação ({{< glossary_tooltip term_id="label" text="labels" >}}) +que os controladores podem usar para diferenciar esses *Pods*. +{{< /note >}} + +## Formas de correr controladores {#running-controllers} + +O Kubernetes vem com um conjunto de controladores embutidos que correm +dentro do {{< glossary_tooltip term_id="kube-controller-manager" >}}. +Estes controladores embutidos providenciam comportamentos centrais importantes. + +O controlador *Deployment* e o controlador *Job* são exemplods de controladores +que veem como parte do próprio Kubernetes (controladores "embutidos"). +O Kubernetes deixa voce correr o plano de controlo resiliente, para que se qualquer +um dos controladores embutidos falhar, outra parte do plano de controlo assume +o trabalho. + +Pode encontrar controladores fora do plano de controlo, para extender o Kubernetes. +Ou, se quiser, pode escrever um novo controlador você mesmo. +Pode correr o seu próprio controlador como um conjunto de *Pods*, +ou externo ao Kubernetes. O que encaixa melhor vai depender no que esse +controlador faz em particular. + +{{% /capture %}} + +{{% capture whatsnext %}} +* Leia mais sobre o [plano de controlo do Kubernetes](/docs/concepts/#kubernetes-control-plane) +* Descubra alguns dos [objetos Kubernetes](/docs/concepts/#kubernetes-objects) básicos. +* Aprenda mais sobre [API do Kubernetes](/docs/concepts/overview/kubernetes-api/) +* Se pretender escrever o seu próprio controlador, veja [Padrões de Extensão](/docs/concepts/extend-kubernetes/extend-cluster/#extension-patterns) +{{% /capture %}} From 106935c0ef67556bd363eaeda0b1e29ff33d6e27 Mon Sep 17 00:00:00 2001 From: joao-luna-98 Date: Mon, 23 Mar 2020 15:05:56 +0000 Subject: [PATCH 2/8] Translate glossary entry. --- content/pt/docs/reference/_index.md | 53 +++++++++++++++++++ .../pt/docs/reference/glossary/controller.md | 30 +++++++++++ 2 files changed, 83 insertions(+) create mode 100644 content/pt/docs/reference/_index.md create mode 100755 content/pt/docs/reference/glossary/controller.md diff --git a/content/pt/docs/reference/_index.md b/content/pt/docs/reference/_index.md new file mode 100644 index 0000000000..7efffa4ef6 --- /dev/null +++ b/content/pt/docs/reference/_index.md @@ -0,0 +1,53 @@ +--- +title: Reference +approvers: +- chenopis +linkTitle: "Reference" +main_menu: true +weight: 70 +content_template: templates/concept +--- + +{{% capture overview %}} + +This section of the Kubernetes documentation contains references. + +{{% /capture %}} + +{{% capture body %}} + +## API Reference + +* [Kubernetes API Overview](/docs/reference/using-api/api-overview/) - Overview of the API for Kubernetes. +* [Kubernetes API Reference {{< latest-version >}}](/docs/reference/generated/kubernetes-api/{{< latest-version >}}/) + +## API Client Libraries + +To call the Kubernetes API from a programming language, you can use +[client libraries](/docs/reference/using-api/client-libraries/). Officially supported +client libraries: + +- [Kubernetes Go client library](https://github.com/kubernetes/client-go/) +- [Kubernetes Python client library](https://github.com/kubernetes-client/python) +- [Kubernetes Java client library](https://github.com/kubernetes-client/java) +- [Kubernetes JavaScript client library](https://github.com/kubernetes-client/javascript) + +## CLI Reference + +* [kubectl](/docs/reference/kubectl/overview/) - Main CLI tool for running commands and managing Kubernetes clusters. + * [JSONPath](/docs/reference/kubectl/jsonpath/) - Syntax guide for using [JSONPath expressions](http://goessner.net/articles/JsonPath/) with kubectl. +* [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/) - CLI tool to easily provision a secure Kubernetes cluster. + +## Config Reference + +* [kubelet](/docs/reference/command-line-tools-reference/kubelet/) - The primary *node agent* that runs on each node. The kubelet takes a set of PodSpecs and ensures that the described containers are running and healthy. +* [kube-apiserver](/docs/reference/command-line-tools-reference/kube-apiserver/) - REST API that validates and configures data for API objects such as pods, services, replication controllers. +* [kube-controller-manager](/docs/reference/command-line-tools-reference/kube-controller-manager/) - Daemon that embeds the core control loops shipped with Kubernetes. +* [kube-proxy](/docs/reference/command-line-tools-reference/kube-proxy/) - Can do simple TCP/UDP stream forwarding or round-robin TCP/UDP forwarding across a set of back-ends. +* [kube-scheduler](/docs/reference/command-line-tools-reference/kube-scheduler/) - Scheduler that manages availability, performance, and capacity. + +## Design Docs + +An archive of the design docs for Kubernetes functionality. Good starting points are [Kubernetes Architecture](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md) and [Kubernetes Design Overview](https://git.k8s.io/community/contributors/design-proposals). + +{{% /capture %}} diff --git a/content/pt/docs/reference/glossary/controller.md b/content/pt/docs/reference/glossary/controller.md new file mode 100755 index 0000000000..aa1a3f68e5 --- /dev/null +++ b/content/pt/docs/reference/glossary/controller.md @@ -0,0 +1,30 @@ +--- +title: Controlador +id: controller +date: 2020-03-23 +full_link: /docs/concepts/architecture/controller/ +short_description: > + Um ciclo de controlo que observa o estado partilhado do cluster através do apiserver e efetua + mudanças tentando mover o estado atual em direção ao estado desejado. + +aka: +tags: +- architecture +- fundamental +--- +No Kubernetes, controladores são ciclos de controlo que observam o estado do seu +{{< glossary_tooltip term_id="cluster" text="cluster">}}, e então fazer ou requisitar +mudanças onde necessário. +Cada controlador tenta mover o estado atual do cluster mais perto do estado desejado. + + + +Controladores observam o estado partilhado do cluster através do +{{< glossary_tooltip text="apiserver" term_id="kube-apiserver" >}} (parte do +{{< glossary_tooltip term_id="control-plane" >}}). + +Alguns controladores tambem correm dentro do plano de controlo, fornecendo ciclos +de controlo que são centrais às operações do Kubernetes. Por exemplo: o controlador +de *deployments*, o controlador de *daemonsets*, o controlador de *namespaces*, e o +controlador de volumes persistentes (*persistent volumes*) (e outros) todos correm +dentro do {{< glossary_tooltip term_id="kube-controller-manager" >}}. From 8c788d7656d8d8a4b8d958d83ca5d7c8d038b83d Mon Sep 17 00:00:00 2001 From: joao-luna-98 Date: Mon, 23 Mar 2020 15:15:57 +0000 Subject: [PATCH 3/8] Fix some typos. --- .../docs/concepts/architecture/controller.md | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/content/pt/docs/concepts/architecture/controller.md b/content/pt/docs/concepts/architecture/controller.md index 02efc70f71..cc696c962d 100644 --- a/content/pt/docs/concepts/architecture/controller.md +++ b/content/pt/docs/concepts/architecture/controller.md @@ -6,10 +6,10 @@ weight: 30 {{% capture overview %}} -Em robótica e automação, um _control loop_ ou em português _ciclo de controlo_ é +Em robótica e automação um _control loop_, ou em português _ciclo de controlo_, é um ciclo não terminado que regula o estado de um sistema. -Um exemplo de um ciclo de controlo é um termostato de uma sala. +Um exemplo de ciclo de controlo é um termostato de uma sala. Quando você define a temperatura, isso indica ao termostato sobre o seu *estado desejado*. A temperatura ambiente real é o @@ -31,14 +31,14 @@ têm um campo *spec* (especificação) que representa o *estado desejado*. Os controladores para esse recurso são responsáveis por trazer o *estado atual* mais perto do *estado desejado*. -O controlador pode levar ele proprio a cabo a ação; é mais comum, no Kubernetes, +O controlador pode levar ele próprio a cabo a ação; é mais comum, no Kubernetes, um controlador enviar uma mensagem para o {{< glossary_tooltip text="API server" term_id="kube-apiserver" >}} que tem -efeitos colaterais uteis. Você vai ver exemplos disto abaixo. +efeitos colaterais úteis. Você vai ver exemplos disto abaixo. {{< comment >}} Alguns controladores embutidos, como é o caso do controlador *namespace*, atuam em objetos -que não têm uma especificação (*spec*). Por questões de simplicidade, esta página omite explicar +que não têm uma especificação (*spec*). Por questões de simplicidade esta página omite explicar esse detalhe. {{< /comment >}} @@ -49,14 +49,14 @@ controlador Kubernetes embutido. Controladores embutidos gerem estados através interação com o *cluster API server*. *Job* é um recurso do Kubernetes que corre um -{{< glossary_tooltip term_id="pod" >}}, ou talvez vários *Pods*, com o objetivo de +*{{< glossary_tooltip term_id="pod" >}}*, ou talvez vários *Pods*, com o objetivo de executar uma tarefa e depois parar. (Uma vez [agendado](/docs/concepts/scheduling/), objetos *Pod* passam a fazer parte objects become part of the do *estado desejado* para um kubelet. Quando o controlador *Job* observa uma nova tarefa ele garante que, -algures no seu *cluster*, os kubelets num conjunto de nós (*Nodes*) estão correndo o numero +algures no seu *cluster*, os kubelets num conjunto de nós (*Nodes*) estão correndo o número correto de *Pods* para completar o trabalho. O controlador *Job* não corre *Pods* ou *containers* ele próprio. Em vez disso, o controlador *Job* informa o *API server* para criar ou remover *Pods*. @@ -96,7 +96,7 @@ Veja [Escalamento automático do cluster](/docs/tasks/administer-cluster/cluster ## Estado desejado versus atual {#desired-vs-current} -Kubernetes leva uma visão *cloud-native* de sistemas, e é capaz de manipular +Kubernetes leva uma visão *cloud-native* de sistemas e é capaz de manipular mudanças constantes. O seu *cluster* pode mudar em qualquer altura à medida que o trabalho acontece e @@ -104,17 +104,17 @@ os ciclos de controlo corrigem falhas automaticamente. Isto significa que, potencialmente, o seu *cluster* nunca atinge um estado estável. Enquanto os controladores no seu *cluster* estiverem a correr e forem capazes de -fazer alterações uteis, não importa se o estado é estável ou se é instável. +fazer alterações úteis, não importa se o estado é estável ou se é instável. ## Desenho -Como um principio do seu desenho, o Kubernetes usa muitos controladores onde cada +Como um princípio do seu desenho, o Kubernetes usa muitos controladores onde cada um gere um aspeto particular do estado do *cluster*. Maioritariamente, um particular ciclo de controlo (controlador) usa uma espécie de recurso como o seu *estado desejado*, e tem uma espécie diferente de recurso que o mesmo gere para garantir que esse *estado desejado* é cumprido. -É util que haja controladores simples em vez de um conjunto monolítico de ciclos de controlo +É útil que haja controladores simples em vez de um conjunto monolítico de ciclos de controlo que estão interligados. Controladores podem falhar, então o Kubernetes foi desenhado para permitir isso. @@ -140,9 +140,9 @@ O Kubernetes vem com um conjunto de controladores embutidos que correm dentro do {{< glossary_tooltip term_id="kube-controller-manager" >}}. Estes controladores embutidos providenciam comportamentos centrais importantes. -O controlador *Deployment* e o controlador *Job* são exemplods de controladores +O controlador *Deployment* e o controlador *Job* são exemplos de controladores que veem como parte do próprio Kubernetes (controladores "embutidos"). -O Kubernetes deixa voce correr o plano de controlo resiliente, para que se qualquer +O Kubernetes deixa você correr o plano de controlo resiliente, para que se qualquer um dos controladores embutidos falhar, outra parte do plano de controlo assume o trabalho. From 0457001dfbf2480ca8aeb0cd10636f7ecd88a019 Mon Sep 17 00:00:00 2001 From: Joao Luna Date: Thu, 26 Mar 2020 22:51:13 +0000 Subject: [PATCH 4/8] Delete _index.md --- content/pt/docs/reference/_index.md | 53 ----------------------------- 1 file changed, 53 deletions(-) delete mode 100644 content/pt/docs/reference/_index.md diff --git a/content/pt/docs/reference/_index.md b/content/pt/docs/reference/_index.md deleted file mode 100644 index 7efffa4ef6..0000000000 --- a/content/pt/docs/reference/_index.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Reference -approvers: -- chenopis -linkTitle: "Reference" -main_menu: true -weight: 70 -content_template: templates/concept ---- - -{{% capture overview %}} - -This section of the Kubernetes documentation contains references. - -{{% /capture %}} - -{{% capture body %}} - -## API Reference - -* [Kubernetes API Overview](/docs/reference/using-api/api-overview/) - Overview of the API for Kubernetes. -* [Kubernetes API Reference {{< latest-version >}}](/docs/reference/generated/kubernetes-api/{{< latest-version >}}/) - -## API Client Libraries - -To call the Kubernetes API from a programming language, you can use -[client libraries](/docs/reference/using-api/client-libraries/). Officially supported -client libraries: - -- [Kubernetes Go client library](https://github.com/kubernetes/client-go/) -- [Kubernetes Python client library](https://github.com/kubernetes-client/python) -- [Kubernetes Java client library](https://github.com/kubernetes-client/java) -- [Kubernetes JavaScript client library](https://github.com/kubernetes-client/javascript) - -## CLI Reference - -* [kubectl](/docs/reference/kubectl/overview/) - Main CLI tool for running commands and managing Kubernetes clusters. - * [JSONPath](/docs/reference/kubectl/jsonpath/) - Syntax guide for using [JSONPath expressions](http://goessner.net/articles/JsonPath/) with kubectl. -* [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/) - CLI tool to easily provision a secure Kubernetes cluster. - -## Config Reference - -* [kubelet](/docs/reference/command-line-tools-reference/kubelet/) - The primary *node agent* that runs on each node. The kubelet takes a set of PodSpecs and ensures that the described containers are running and healthy. -* [kube-apiserver](/docs/reference/command-line-tools-reference/kube-apiserver/) - REST API that validates and configures data for API objects such as pods, services, replication controllers. -* [kube-controller-manager](/docs/reference/command-line-tools-reference/kube-controller-manager/) - Daemon that embeds the core control loops shipped with Kubernetes. -* [kube-proxy](/docs/reference/command-line-tools-reference/kube-proxy/) - Can do simple TCP/UDP stream forwarding or round-robin TCP/UDP forwarding across a set of back-ends. -* [kube-scheduler](/docs/reference/command-line-tools-reference/kube-scheduler/) - Scheduler that manages availability, performance, and capacity. - -## Design Docs - -An archive of the design docs for Kubernetes functionality. Good starting points are [Kubernetes Architecture](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md) and [Kubernetes Design Overview](https://git.k8s.io/community/contributors/design-proposals). - -{{% /capture %}} From acfeee583e4ce21afeab6100170dd1c4ce7c09a2 Mon Sep 17 00:00:00 2001 From: Joao Luna Date: Thu, 26 Mar 2020 22:52:32 +0000 Subject: [PATCH 5/8] Apply suggestions from code review Co-Authored-By: Felipe --- .../docs/concepts/architecture/controller.md | 42 +++++++++---------- .../pt/docs/reference/glossary/controller.md | 8 ++-- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/content/pt/docs/concepts/architecture/controller.md b/content/pt/docs/concepts/architecture/controller.md index cc696c962d..1f9e14bb2a 100644 --- a/content/pt/docs/concepts/architecture/controller.md +++ b/content/pt/docs/concepts/architecture/controller.md @@ -6,7 +6,7 @@ weight: 30 {{% capture overview %}} -Em robótica e automação um _control loop_, ou em português _ciclo de controlo_, é +Em robótica e automação um _control loop_, ou em português _ciclo de controle_, é um ciclo não terminado que regula o estado de um sistema. Um exemplo de ciclo de controlo é um termostato de uma sala. @@ -48,11 +48,11 @@ O controlador {{< glossary_tooltip term_id="job" >}} é um exemplo de um controlador Kubernetes embutido. Controladores embutidos gerem estados através da interação com o *cluster API server*. -*Job* é um recurso do Kubernetes que corre um +*Job* é um recurso do Kubernetes que é executado em um *{{< glossary_tooltip term_id="pod" >}}*, ou talvez vários *Pods*, com o objetivo de executar uma tarefa e depois parar. -(Uma vez [agendado](/docs/concepts/scheduling/), objetos *Pod* passam a fazer parte objects become part of the +(Uma vez [agendado](/docs/concepts/scheduling/), objetos *Pod* passam a fazer parte do *estado desejado* para um kubelet. Quando o controlador *Job* observa uma nova tarefa ele garante que, @@ -62,12 +62,12 @@ O controlador *Job* não corre *Pods* ou *containers* ele próprio. Em vez disso, o controlador *Job* informa o *API server* para criar ou remover *Pods*. Outros componentes do plano de controle ({{< glossary_tooltip text="control plane" term_id="control-plane" >}}) -atuem na nova informação (existem novos *Pods* para serem agendados e executados), +atuam na nova informação (existem novos *Pods* para serem agendados e executados), e eventualmente o trabalho é feito. Após ter criado um novo *Job*, o *estado desejado* é que esse Job seja completado. O controlador *Job* faz com que o *estado atual* para esse *Job* esteja mais perto do seu -*estado desejado*: creando *Pods* que fazem o trabalho desejado para esse *Job* para que +*estado desejado*: criando *Pods* que fazem o trabalho desejado para esse *Job* para que o *Job* fique mais perto de ser completado. Controladores também atualizam os objetos que os configuram. @@ -77,12 +77,12 @@ o controlador *Job* atualiza esse objeto *Job* para o marcar como `Finished` (te (Isto é um pouco como alguns termostatos desligam uma luz para indicar que a temperatura da sala está agora na temperatura que foi introduzida). -### Controlo direto +### Controle direto Em contraste com *Job*, alguns controladores necessitam de efetuar -mudanças a coisas fora do *cluster*. +mudanças fora do *cluster*. -Por exemplo, se usar um ciclo de controlo para garantir que existem +Por exemplo, se usar um ciclo de controle para garantir que existem *{{< glossary_tooltip text="Nodes" term_id="node" >}}* suficientes no seu *cluster*, então esse controlador necessita de algo exterior ao *cluster* atual para configurar novos *Nodes* quando necessário. @@ -96,25 +96,25 @@ Veja [Escalamento automático do cluster](/docs/tasks/administer-cluster/cluster ## Estado desejado versus atual {#desired-vs-current} -Kubernetes leva uma visão *cloud-native* de sistemas e é capaz de manipular +Kubernetes tem uma visão *cloud-native* de sistemas e é capaz de manipular mudanças constantes. -O seu *cluster* pode mudar em qualquer altura à medida que o trabalho acontece e -os ciclos de controlo corrigem falhas automaticamente. Isto significa que, +O seu *cluster* pode mudar em qualquer momento à medida que as ações acontecem e +os ciclos de controle corrigem falhas automaticamente. Isto significa que, potencialmente, o seu *cluster* nunca atinge um estado estável. -Enquanto os controladores no seu *cluster* estiverem a correr e forem capazes de +Enquanto os controladores no seu *cluster* estiverem rodando e forem capazes de fazer alterações úteis, não importa se o estado é estável ou se é instável. -## Desenho +## Design Como um princípio do seu desenho, o Kubernetes usa muitos controladores onde cada -um gere um aspeto particular do estado do *cluster*. Maioritariamente, um particular -ciclo de controlo (controlador) usa uma espécie de recurso como o seu *estado desejado*, +um gerencia um aspecto particular do estado do *cluster*. Comumente, um particular +ciclo de controle (controlador) usa uma espécie de recurso como o seu *estado desejado*, e tem uma espécie diferente de recurso que o mesmo gere para garantir que esse *estado desejado* é cumprido. -É útil que haja controladores simples em vez de um conjunto monolítico de ciclos de controlo +É útil que haja controladores simples em vez de um conjunto monolítico de ciclos de controle que estão interligados. Controladores podem falhar, então o Kubernetes foi desenhado para permitir isso. @@ -134,7 +134,7 @@ porque existe informação ({{< glossary_tooltip term_id="label" text="labels" > que os controladores podem usar para diferenciar esses *Pods*. {{< /note >}} -## Formas de correr controladores {#running-controllers} +## Formas de rodar controladores {#running-controllers} O Kubernetes vem com um conjunto de controladores embutidos que correm dentro do {{< glossary_tooltip term_id="kube-controller-manager" >}}. @@ -142,11 +142,11 @@ Estes controladores embutidos providenciam comportamentos centrais importantes. O controlador *Deployment* e o controlador *Job* são exemplos de controladores que veem como parte do próprio Kubernetes (controladores "embutidos"). -O Kubernetes deixa você correr o plano de controlo resiliente, para que se qualquer -um dos controladores embutidos falhar, outra parte do plano de controlo assume +O Kubernetes deixa você correr o plano de controle resiliente, para que se qualquer +um dos controladores embutidos falhar, outra parte do plano de controle assume o trabalho. -Pode encontrar controladores fora do plano de controlo, para extender o Kubernetes. +Pode encontrar controladores fora do plano de controle, para extender o Kubernetes. Ou, se quiser, pode escrever um novo controlador você mesmo. Pode correr o seu próprio controlador como um conjunto de *Pods*, ou externo ao Kubernetes. O que encaixa melhor vai depender no que esse @@ -155,7 +155,7 @@ controlador faz em particular. {{% /capture %}} {{% capture whatsnext %}} -* Leia mais sobre o [plano de controlo do Kubernetes](/docs/concepts/#kubernetes-control-plane) +* Leia mais sobre o [plano de controle do Kubernetes](/docs/concepts/#kubernetes-control-plane) * Descubra alguns dos [objetos Kubernetes](/docs/concepts/#kubernetes-objects) básicos. * Aprenda mais sobre [API do Kubernetes](/docs/concepts/overview/kubernetes-api/) * Se pretender escrever o seu próprio controlador, veja [Padrões de Extensão](/docs/concepts/extend-kubernetes/extend-cluster/#extension-patterns) diff --git a/content/pt/docs/reference/glossary/controller.md b/content/pt/docs/reference/glossary/controller.md index aa1a3f68e5..de7f83923f 100755 --- a/content/pt/docs/reference/glossary/controller.md +++ b/content/pt/docs/reference/glossary/controller.md @@ -4,7 +4,7 @@ id: controller date: 2020-03-23 full_link: /docs/concepts/architecture/controller/ short_description: > - Um ciclo de controlo que observa o estado partilhado do cluster através do apiserver e efetua + Um ciclo de controle que observa o estado partilhado do cluster através do API Server e efetua mudanças tentando mover o estado atual em direção ao estado desejado. aka: @@ -12,7 +12,7 @@ tags: - architecture - fundamental --- -No Kubernetes, controladores são ciclos de controlo que observam o estado do seu +No Kubernetes, controladores são ciclos de controle que observam o estado do seu {{< glossary_tooltip term_id="cluster" text="cluster">}}, e então fazer ou requisitar mudanças onde necessário. Cada controlador tenta mover o estado atual do cluster mais perto do estado desejado. @@ -23,8 +23,8 @@ Controladores observam o estado partilhado do cluster através do {{< glossary_tooltip text="apiserver" term_id="kube-apiserver" >}} (parte do {{< glossary_tooltip term_id="control-plane" >}}). -Alguns controladores tambem correm dentro do plano de controlo, fornecendo ciclos -de controlo que são centrais às operações do Kubernetes. Por exemplo: o controlador +Alguns controladores também correm dentro do plano de controlo, fornecendo ciclos +de controle que são centrais às operações do Kubernetes. Por exemplo: o controlador de *deployments*, o controlador de *daemonsets*, o controlador de *namespaces*, e o controlador de volumes persistentes (*persistent volumes*) (e outros) todos correm dentro do {{< glossary_tooltip term_id="kube-controller-manager" >}}. From 429e419471d5fdd31a4b5f4b25707330f4d005be Mon Sep 17 00:00:00 2001 From: Joao Luna Date: Thu, 26 Mar 2020 22:53:53 +0000 Subject: [PATCH 6/8] Apply code review --- content/pt/docs/concepts/architecture/controller.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/pt/docs/concepts/architecture/controller.md b/content/pt/docs/concepts/architecture/controller.md index 1f9e14bb2a..40767d06bf 100644 --- a/content/pt/docs/concepts/architecture/controller.md +++ b/content/pt/docs/concepts/architecture/controller.md @@ -31,8 +31,8 @@ têm um campo *spec* (especificação) que representa o *estado desejado*. Os controladores para esse recurso são responsáveis por trazer o *estado atual* mais perto do *estado desejado*. -O controlador pode levar ele próprio a cabo a ação; é mais comum, no Kubernetes, -um controlador enviar uma mensagem para o +O controlador pode executar uma ação ele próprio, ou, +o que é mais comum, enviar uma mensagem para o Kubernetes {{< glossary_tooltip text="API server" term_id="kube-apiserver" >}} que tem efeitos colaterais úteis. Você vai ver exemplos disto abaixo. From 3103a3c45a57b068bca351f9420d43121fc4c7b6 Mon Sep 17 00:00:00 2001 From: joao-luna-98 Date: Sun, 29 Mar 2020 20:37:27 +0100 Subject: [PATCH 7/8] Resolve sugestions. --- .../docs/concepts/architecture/controller.md | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/content/pt/docs/concepts/architecture/controller.md b/content/pt/docs/concepts/architecture/controller.md index 40767d06bf..4ab6e98cae 100644 --- a/content/pt/docs/concepts/architecture/controller.md +++ b/content/pt/docs/concepts/architecture/controller.md @@ -9,7 +9,7 @@ weight: 30 Em robótica e automação um _control loop_, ou em português _ciclo de controle_, é um ciclo não terminado que regula o estado de um sistema. -Um exemplo de ciclo de controlo é um termostato de uma sala. +Um exemplo de ciclo de controle é um termostato de uma sala. Quando você define a temperatura, isso indica ao termostato sobre o seu *estado desejado*. A temperatura ambiente real é o @@ -23,25 +23,19 @@ mais perto do estado desejado, ligando ou desligando o equipamento. {{% capture body %}} -## Padrão de controlo (Controller pattern) +## Padrão Controlador (Controller pattern) Um controlador rastreia pelo menos um tipo de recurso Kubernetes. Estes [objetos](/docs/concepts/overview/working-with-objects/kubernetes-objects/#kubernetes-objects) -têm um campo *spec* (especificação) que representa o *estado desejado*. -Os controladores para esse recurso são responsáveis por trazer o *estado atual* +têm um campo *spec* que representa o *estado desejado*. +O(s) controlador(es) para aquele recurso são responsáveis por trazer o *estado atual* mais perto do *estado desejado*. O controlador pode executar uma ação ele próprio, ou, -o que é mais comum, enviar uma mensagem para o Kubernetes -{{< glossary_tooltip text="API server" term_id="kube-apiserver" >}} que tem +o que é mais comum, no Kubernetes, o controlador envia uma mensagem para o +{{< glossary_tooltip text="API server" term_id="kube-apiserver" >}} (servidor de API) que tem efeitos colaterais úteis. Você vai ver exemplos disto abaixo. -{{< comment >}} -Alguns controladores embutidos, como é o caso do controlador *namespace*, atuam em objetos -que não têm uma especificação (*spec*). Por questões de simplicidade esta página omite explicar -esse detalhe. -{{< /comment >}} - ### Controlador via API server O controlador {{< glossary_tooltip term_id="job" >}} é um exemplo de um From 28eac8ed7aee30c81554a65a242b0b46921638e8 Mon Sep 17 00:00:00 2001 From: Joao Luna Date: Thu, 2 Apr 2020 22:48:02 +0100 Subject: [PATCH 8/8] Update content/pt/docs/reference/glossary/controller.md Co-Authored-By: Jhon Mike --- content/pt/docs/reference/glossary/controller.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/pt/docs/reference/glossary/controller.md b/content/pt/docs/reference/glossary/controller.md index de7f83923f..759961cd8f 100755 --- a/content/pt/docs/reference/glossary/controller.md +++ b/content/pt/docs/reference/glossary/controller.md @@ -23,7 +23,7 @@ Controladores observam o estado partilhado do cluster através do {{< glossary_tooltip text="apiserver" term_id="kube-apiserver" >}} (parte do {{< glossary_tooltip term_id="control-plane" >}}). -Alguns controladores também correm dentro do plano de controlo, fornecendo ciclos +Alguns controladores também correm dentro do plano de controle, fornecendo ciclos de controle que são centrais às operações do Kubernetes. Por exemplo: o controlador de *deployments*, o controlador de *daemonsets*, o controlador de *namespaces*, e o controlador de volumes persistentes (*persistent volumes*) (e outros) todos correm