Reservas de recursos do nó do trabalhador
Compreender as reservas de recursos dos nós de trabalho ajuda a planejar a capacidade do cluster e a solucionar problemas de agendamento de pods.
O IBM Cloud Kubernetes Service configura as reservas de recursos de cálculo que limitam os recursos de cálculo disponíveis em cada nó do trabalhador. A memória reservada, os recursos de CPU e os IDs de processos (PIDs) não podem ser usados pelos pods no nó do trabalhador e reduzem a quantidade de recursos alocáveis em cada nó do trabalhador. Quando você implementa inicialmente os pods, se o nó do trabalhador não tiver recursos alocáveis suficientes, a implementação falhará. Além disso, se os pods excederem o limite de recursos do nó do trabalhador para memória e CPU, os pods serão despejados. No Kubernetes, esse limite é chamado de limite de despejo permanente. Para pods que ultrapassam o limite do PID, os pods recebem quantos PIDs forem alocáveis, mas não são despejados com base nos PIDs.
Quando verificar as reservas de recursos
Verifique as reservas de recursos dos nós de trabalho quando:
- Planejamento da capacidade do cluster e determinação do número de nós de trabalho necessários
- Solução de problemas relacionados a falhas no agendamento ou à remoção de pods
- Cálculo dos recursos disponíveis para suas cargas de trabalho
- Como determinar se é necessário adicionar mais nós de trabalho ao seu cluster
Se houver menos PIDs, CPU ou memória disponíveis do que o nó de trabalho reserva, o Kubernetes começa a remover pods para restaurar recursos computacionais e PIDs suficientes. Os pods serão reagendados em outro nó do trabalhador
se um nó do trabalhador estiver disponível. Caso os pods sejam despejados frequentemente, inclua mais nós do trabalhador no cluster ou configure limites de recursos nos pods.
Entendendo os níveis de reserva de recursos
Os recursos reservados no seu nó de trabalho dependem da quantidade de PIDs, CPU e memória com que ele vem equipado. O serviço IBM Cloud Kubernetes Service define os níveis de PIDs, CPU e memória conforme mostrado nas tabelas a seguir. Se o seu nó de trabalho dispuser de recursos de computação em vários níveis, uma porcentagem dos seus PIDs, da CPU e dos recursos de memória será reservada para cada nível.
Os clusters também têm reservas e limites de ID do processo (PID) para evitar que um pod use muitos PIDs ou assegurar que existam PIDs suficientes para o kubelet e outros componentes de sistema do IBM Cloud Kubernetes Service. Se
as reservas ou limites do PID forem atingidos, o Kubernetes não criará ou designará novos PIDs até que processos suficientes sejam removidos para liberar os PIDs existentes. A quantidade total de PIDs em um nó trabalhador corresponde a aproximadamente
8.000 PIDs por GB de memória no nó do trabalhador. Por exemplo, um nó trabalhador com 16 GB de memória possui aproximadamente 128.000 PIDs (16 × 8,000 = 128,000).
Para revisar a quantidade de recursos de cálculo atualmente em uso no nó do trabalhador, execute kubectl top node.
| Camada de memória | % ou quantia reservada | Exemplo b3c.4x16 do nó do trabalhador (16 GB) |
Exemplo do nó do trabalhador mg1c.28x256 (256 GB) |
|---|---|---|---|
| Primeiros 4 GB (0 a 4 GB) | 25% da memória | 1 GB | 1 GB |
| Próximos 4 GB (5 a 8 GB) | 20% da memória | 0,8 GB | 0,8 GB |
| Próximos 8 GB (9 a 16 GB) | 10% de memória | 0,8 GB | 0,8 GB |
| Próximos 112 GB (17 a 128 GB) | 6% de memória | N/A | 6,72 GB |
| GB restantes (129 GB+) | 2% de memória | N/A | 2,54 GB |
Reserva adicional para despejo do kubelet |
100 MB | 100 MB (quantia fixa) | 100 MB (quantia fixa) |
| Total reservado | (varia) | 2,7 GB de total de 16 GB | 11.96 GB de um total de 256 GB |
| Camada da CPU | % ou quantia reservada | Exemplo de nó do trabalhador do b3c.4x16 (quatro núcleos) |
Exemplo do nó do trabalhador mg1c.28x256 (28 núcleos) |
|---|---|---|---|
| Primeiro núcleo (Núcleo 1) | 6% dos núcleos | 0,06 núcleos | 0,06 núcleos |
| Próximos dois núcleos (núcleos 2 - 3) | 1% dos núcleos | 0,02 núcleos | 0,02 núcleos |
| Próximos dois núcleos (núcleos 4 - 5) | 0,5% dos núcleos | 0,005 núcleos | 0,01 núcleos |
| Núcleos restantes (Núcleos 6+) | 0,25% dos núcleos | N/A | 0,0575 núcleos |
| Total reservado | (varia) | 0,085 núcleos de quatro núcleos totais | 0,1475 núcleos de 28 núcleos totais |
| Total de PIDs | % reservado | %disponível para pod |
|---|---|---|
| < 200,000 | 20% PIDs | 35% PIDs |
| 200.000 a 499.999 | 10% PIDs | 40% PIDs |
| ≥ 500.000 | 5% PIDs | 45% PIDs |
Nó do trabalhador b3c.4x16: 126.878 PIDs |
25.376 PIDs (20%) | 44.407 PIDS (35%) |
Nó do trabalhador mg1c.28x256: 2.062.400 PIDs |
103.120 PIDs (5%) | 928.085 PIDs (45%) |
| Provedor de infraestrutura | Disco | % de disco reservado |
|---|---|---|
| Clássica | Disco secundário | 10% |
| VPC | Disco de inicialização | 10% |
Os valores do nó do trabalhador de amostra são fornecidos para exemplo apenas. Seu uso real pode variar um pouco.