Skip to content

Commit 8441afa

Browse files
rikatzdevlware
andauthored
Add initial portuguese translation to runtime class (#27302)
* Add initial portuguese translation to runtime class * Apply suggestions from code review Co-authored-by: Diego W. Antunes <[email protected]> * Typo correct Co-authored-by: Diego W. Antunes <[email protected]>
1 parent fb976d5 commit 8441afa

File tree

4 files changed

+239
-0
lines changed

4 files changed

+239
-0
lines changed
Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,179 @@
1+
---
2+
title: Classes de execução
3+
content_type: concept
4+
weight: 20
5+
---
6+
7+
<!-- overview -->
8+
9+
{{< feature-state for_k8s_version="v1.20" state="stable" >}}
10+
11+
Essa página descreve o recurso _RuntimeClass_ e a seleção do mecanismo do agente de execução.
12+
13+
RuntimeClass é uma funcionalidade para selecionar as configurações do agente de execução do contêiner.
14+
A configuração do agente de execução de contêineres é usada para executar os contêineres de um Pod.
15+
16+
17+
<!-- body -->
18+
19+
## Motivação
20+
21+
Você pode configurar um _RuntimeClass_ diferente entre os diferentes Pods para prover
22+
um equilíbrio entre performance versus segurança. Por exemplo, se parte de sua carga de
23+
trabalho necessita de um alto nível de garantia de segurança da informação, você pode
24+
optar em executar esses Pods em um agente de execução que usa virtualização de hardware.
25+
Você então terá o benefício do isolamento extra de um agente de execução alternativo, ao
26+
custo de uma latência adicional.
27+
28+
Você pode ainda usar um _RuntimeClass_ para executar diferentes Pods com o mesmo agente
29+
de execução de contêineres mas com diferentes configurações.
30+
31+
## Configuração
32+
33+
1. Configure a implementação do CRI nos nós (depende do agente de execução)
34+
2. Crie o recurso RuntimeClass correspondente.
35+
36+
### 1. Configure a implementação do CRI nos nós
37+
38+
As configurações disponíveis através do RuntimeClass sáo dependentes da implementação do
39+
_Container Runtime Interface_ ({{< glossary_tooltip term_id="cri" >}}). Veja a documentação correspondente [abaixo](#configuração-do-cri) para a
40+
sua implementação CRI para verificar como configurar.
41+
42+
{{< note >}}
43+
RuntimeClass assume uma configuração homogênea de nós entre todo o cluster por padrão
44+
(o que significa que todos os nós estão configurados do mesmo jeito referente aos agentes de
45+
execução). Para suportar configurações heterogêneas, veja [Associação](#associação) abaixo.
46+
{{< /note >}}
47+
48+
As configurações possuem um nome `handler` correspondente, referenciado pelo RuntimeClass.
49+
Esse nome deve ser um valor DNS 1123 válido (letras, números e o carácter `-`).
50+
51+
### 2. Crie o recurso RuntimeClass correspondente
52+
53+
As etapas de configuração no passo 1 devem todas estar associadas a um nome para o campo `handler`
54+
que identifica a configuração. Para cada um, crie o objeto RuntimeClass correspondente.
55+
56+
O recurso RuntimeClass atualmente possui apenas 2 campos significativos: o nome do RuntimeClass
57+
(`metadata.name`) e o agente (`handler`). A definição do objeto se parece conforme a seguir:
58+
59+
```yaml
60+
apiVersion: node.k8s.io/v1 # RuntimeClass é definido no grupo de API node.k8s.io
61+
kind: RuntimeClass
62+
metadata:
63+
name: myclass # O nome que o RuntimeClass será chamado como
64+
# RuntimeClass é um recurso global, e não possui namespace.
65+
handler: myconfiguration # Nome da configuração CRI correspondente
66+
```
67+
68+
O nome de um objeto RuntimeClass deve ser um
69+
[nome de subdomínio DNS](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names) válido.
70+
71+
{{< note >}}
72+
É recomendado que operações de escrita no objeto RuntimeClass (criar/atualizar/patch/apagar)
73+
sejam restritas a administradores do cluster. Isso geralmente é o padrão. Veja [Visão Geral
74+
de autorizações](/docs/reference/access-authn-authz/authorization/) para maiores detalhes.
75+
{{< /note >}}
76+
77+
## Uso
78+
79+
Uma vez que as classes de execução estão configuradas no cluster, usar elas é relativamente
80+
simples. Especifique um `runtimeClassName` na especificação do Pod. Por exemplo:
81+
82+
```yaml
83+
apiVersion: v1
84+
kind: Pod
85+
metadata:
86+
name: mypod
87+
spec:
88+
runtimeClassName: myclass
89+
# ...
90+
```
91+
92+
Isso irá instruir o kubelet a usar o RuntimeClass nomeado acima (myclass) para esse Pod. Se
93+
o nome do RuntimeClass não existir, ou o CRI não puder executar a solicitação, o Pod entrará na [fase
94+
final](/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase) `Failed`. Procure por um
95+
[evento](/docs/tasks/debug-application-cluster/debug-application-introspection/) correspondente
96+
para uma mensagem de erro.
97+
98+
Se nenhum `runtimeClassName` for especificado, o RuntimeHandler padrão será utilizado, que é equivalente
99+
ao comportamento quando a funcionalidade de RuntimeClass está desativada.
100+
101+
### Configuração do CRI
102+
103+
Para maiores detalhes de configuração dos agentes de execução CRI, veja [instalação do CRI](/docs/setup/production-environment/container-runtimes/).
104+
105+
#### dockershim
106+
107+
O CRI dockershim embutido no Kubernetes não suporta outros agentes de execução.
108+
109+
#### {{< glossary_tooltip term_id="containerd" >}}
110+
111+
Agentes de execução são configurados através da configuração do containerd em
112+
`/etc/containerd/config.toml`. Agentes válidos são configurados sob a seção de `runtimes`:
113+
114+
```
115+
[plugins.cri.containerd.runtimes.${HANDLER_NAME}]
116+
```
117+
118+
Veja a documentação de configuração do containerd para maiores detalhes:
119+
https://github.com/containerd/cri/blob/master/docs/config.md
120+
121+
#### {{< glossary_tooltip term_id="cri-o" >}}
122+
123+
Agentes de execução são configurados através da configuração do CRI-O em `/etc/crio/crio.conf`.
124+
Agentes válidos são configurados na seção [crio.runtime
125+
table](https://github.com/cri-o/cri-o/blob/master/docs/crio.conf.5.md#crioruntime-table):
126+
127+
```
128+
[crio.runtime.runtimes.${HANDLER_NAME}]
129+
runtime_path = "${PATH_TO_BINARY}"
130+
```
131+
132+
Veja a [documentação de configuração](https://raw.githubusercontent.com/cri-o/cri-o/9f11d1d/docs/crio.conf.5.md) do CRI-O para maiores detalhes.
133+
134+
## Associação
135+
136+
{{< feature-state for_k8s_version="v1.16" state="beta" >}}
137+
138+
Ao especificar o campo `scheduling` para um RuntimeClass, você pode colocar limites e
139+
garantir que os Pods executando dentro de uma RuntimeClass sejam associados a nós que
140+
suportem eles. Se o `scheduling` não estiver configurado, assume-se que esse RuntimeClass
141+
é suportado por todos os nós.
142+
143+
Para garantir que os Pods sejam executados em um nó que suporte um RuntimeClass específico,
144+
aquele conjunto de nós deve possuir uma marca/label padrão que é selecionado pelo campo
145+
`runtimeclass.scheduling.nodeSelector`. O nodeSelector do RuntimeClass é combinado com o
146+
nodeSelector do Pod em tempo de admissão, obtendo a intersecção do conjunto de nós selecionado
147+
por cada. Se existir um conflito, o pod será rejeitado.
148+
149+
Se os nós suportados possuírem marcação de restrição para prevenir outros Pods com uma
150+
classe de execução diferente de executar no nó, você pode adicionar o campo `tolerations`
151+
ao objeto RuntimeClass. Assim como com o `nodeSelector`, o `tolerations` é combinado com
152+
o campo `tolerations` do Pod em tempo de admissão, efetivamente pegando a intersecção do
153+
conjunto de nós aplicáveis para cada.
154+
155+
Para saber mais sobre a configuração de seleção de nós e tolerâncias, veja [Associando Pods a
156+
Nós](/docs/concepts/scheduling-eviction/assign-pod-node/).
157+
158+
### Sobrecarga de Pods
159+
160+
{{< feature-state for_k8s_version="v1.18" state="beta" >}}
161+
162+
Você pode especificar os recursos extra que estão associados à execução de um Pod. Declarar esses
163+
recursos extra permite ao cluster (incluindo o agendador/scheduler de pods) contabilizar por
164+
esses recursos quando estiver decidindo sobre Pods e recursos. Para usar a contabilização
165+
desses recursos extras, você deve estar com o [feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
166+
PodOverhead habilitado (ele já está habilitado por padrão).
167+
168+
Os recursos extras utilizados são especificados no objeto RuntimeClass através do campo `overhead`.
169+
Ao usar esses campos, você especifica o uso extra de recursos necessários para executar
170+
Pods utilizando-se desse Runtimeclass e assim contabilizar esses recursos para o Kubernetes.
171+
172+
173+
## {{% heading "whatsnext" %}}
174+
175+
176+
- [RuntimeClass Design](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/585-runtime-class/README.md)
177+
- [RuntimeClass Scheduling Design](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/585-runtime-class/README.md#runtimeclass-scheduling)
178+
- Leia mais sobre [Sobrecarga de Pods](/docs/concepts/scheduling-eviction/pod-overhead/)
179+
- [PodOverhead Feature Design](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/20190226-pod-overhead.md)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
title: containerd
3+
id: containerd
4+
date: 2019-05-14
5+
full_link: https://containerd.io/docs/
6+
short_description: >
7+
Um agente de execução de contêiner com enfase em simplicidade, robustez e portabilidade
8+
9+
aka:
10+
tags:
11+
- tool
12+
---
13+
Um agente de execução de contêiner com enfase em simplicidade, robustez e portabilidade
14+
15+
<!--more-->
16+
17+
containerd é um agente de execução de {{< glossary_tooltip text="contêiner" term_id="container" >}}
18+
que executa um serviço no Linux ou Windows. containerd é responsável por buscar e
19+
armazenar as imagens de contêiner, executar contêineres, prover acesso à rede e mais.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: CRI-O
3+
id: cri-o
4+
date: 2019-05-14
5+
full_link: https://cri-o.io/#what-is-cri-o
6+
short_description: >
7+
Um agente de execução leve de contêineres criado especificamente para o Kubernetes
8+
9+
aka:
10+
tags:
11+
- tool
12+
---
13+
Uma ferramenta que permite você usar agentes de execução de contêineres OCI com o CRI do Kubernetes
14+
15+
<!--more-->
16+
17+
CRI-O é uma implementação do {{< glossary_tooltip term_id="cri" >}}
18+
que permite usar agentes de execução de {{< glossary_tooltip text="contêiner" term_id="container" >}}
19+
compatíveis com as [especificações](https://www.github.com/opencontainers/runtime-spec) da Open Container Initiative (OCI).
20+
21+
Usar o CRI-O permite ao Kubernetes utilizar-se de qualquer agente de execução compatível
22+
com o OCI para executar {{< glossary_tooltip text="Pods" term_id="pod" >}}, e obter imagens
23+
de contêineres de registros remotos.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Container runtime interface (CRI)
3+
id: cri
4+
date: 2019-03-07
5+
full_link: /docs/concepts/overview/components/#container-runtime
6+
short_description: >
7+
Uma API para agentes de execução de contêineres se integrarem com o kubelet
8+
9+
10+
aka:
11+
tags:
12+
- fundamental
13+
---
14+
A interface de execução de contêiner (CRI) é uma API para agentes de execução de
15+
contêineres se integrarem com o kubelet em um nó.
16+
<!--more-->
17+
18+
Para maiores informações, veja as APIs e especificações do [CRI](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/container-runtime-interface.md).

0 commit comments

Comments
 (0)