Skip to content

Commit f67d9b2

Browse files
[pt-br] Add content/pt-br/docs/concepts/configuration/windows-resource-management.md
1 parent 7f697ec commit f67d9b2

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
---
2+
reviewers:
3+
- jayunit100
4+
- jsturtevant
5+
- marosset
6+
- perithompson
7+
title: Gerenciamento de recursos para nós do Windows
8+
content_type: concept
9+
weight: 75
10+
---
11+
12+
<!-- overview -->
13+
14+
Esta página descreve as diferenças em como os recursos são gerenciados entre o Linux e o Windows.
15+
16+
<!-- body -->
17+
18+
Em nós do Linux, {{< glossary_tooltip text="cgroups" term_id="cgroup" >}} são usados como um limite de pod para controle de recursos.
19+
Os contêineres são criados dentro desse limite para o isolamento de rede, processo e sistema de arquivos.
20+
As APIs Linux cgroup podem ser usadas para coletar estatísticas de uso de CPU, E/S e memória.
21+
22+
Em contraste, o Windows usa um [_objetos de trabalho_](https://docs.microsoft.com/windows/win32/procthread/job-objects) por contêiner com um filtro de namespace do sistema
23+
para conter todos os processos em um contêiner e fornecer isolamento lógico ao hospedar.
24+
(Os objetos de trabalho são um mecanismo de isolamento de processo do Windows e são diferentes dos
25+
que o Kubernetes chama de {{< glossary_tooltip term_id="job" text="Job" >}}).
26+
27+
Não há como executar um contêiner do Windows sem a filtragem de namespace.
28+
Isso significa que os privilégios do sistema não podem ser declarados no contexto do host e,
29+
portanto, os contêineres privilegiados não estão disponíveis no Windows.
30+
Os contêineres não podem assumir uma identidade do host porque o Gerente de conta de segurança (SAM) é separado.
31+
32+
## Gerenciamento de memória {#resource-management-memory}
33+
34+
O Windows não possui um eliminador de processo de falta de memória como o Linux.
35+
O Windows sempre trata todas as alocações de memória do modo de usuário como
36+
virtuais e os arquivos de paginação são obrigatórios.
37+
38+
Os nós do Windows não sobrecarregam a memória para os processos. O efeito líquido
39+
é que o Windows não atingirá as condições de falta de memória
40+
da mesma forma que o Linux, e processará a página em disco em vez de estar
41+
sujeito ao encerramento por falta de memória (OOM). Se a memória for
42+
superprovisionada e toda a memória física estiver esgotada, a paginação poderá diminuir o desempenho.
43+
44+
## Gerenciamento de CPU {#resource-management-cpu}
45+
46+
O Windows pode limitar a quantidade de tempo de CPU alocado para diferentes processos,
47+
mas não pode garantir uma quantidade mínima de tempo de CPU.
48+
49+
No Windows, o kubelet oferece suporte a uma flag de linha de comando para definir a
50+
[prioridade do escalonador](https://docs.microsoft.com/windows/win32/procthread/scheduling-priorities) do processo kubelet:
51+
`--windows-priorityclass`. Essa flag permite que o processo kubelet obtenha
52+
mais fatias de tempo de CPU quando comparado a outros processos em execução no host do Windows.
53+
Mais informações sobre os valores permitidos e os seus significados estão disponíveis em
54+
[Classes prioritárias do Windows](https://docs.microsoft.com/en-us/windows/win32/procthread/scheduling-priorities#priority-class).
55+
Para garantir que os Pods em execução não prejudiquem o kubelet de ciclos de CPU, defina essa flag como `ABOVE_NORMAL_PRIORITY_CLASS` ou acima.
56+
57+
## Reserva de recursos {#resource-reservation}
58+
59+
Para contabilizar a memória e a CPU usadas pelo sistema operacional, o tempo de execução do contêiner
60+
e pelos processos de host do Kubernetes, como o kubelet, você pode (e deve)
61+
reservar recursos de memória e CPU com o `--kube-reserved` e/ou `--system-reserved` flags de kubelet.
62+
No Windows, esses valores são usados apenas para calcular o nó
63+
[alocável](/docs/tasks/administer-cluster/reserve-compute-resources/#node-allocatable) de recursos.
64+
65+
{{< caution >}}
66+
Conforme você implanta cargas de trabalho, defina a memória de recursos e os limites de CPU nos contêineres.
67+
Isso também subtrai de `NodeAllocatable` e ajuda o agendador de todo o cluster a determinar quais pods colocar em quais nós.
68+
69+
Agendar pods sem limites pode superprovisionar os nós do Windows e, em casos extremos, fazer com que os nós não sejam íntegros.
70+
{{< /caution >}}
71+
72+
No Windows, uma boa prática é reservar pelo menos 2GiB de memória.
73+
74+
Para determinar quanta CPU reservar, identifique a densidade máxima do pod para cada
75+
nó e monitore o uso da CPU dos serviços do sistema em execução, depois escolha um valor que atenda às suas necessidades de carga de trabalho.

0 commit comments

Comments
 (0)