Como os pods em clusters ACK não têm correspondência direta com recursos de nuvem e apresentam ciclos de vida mais curtos, estimar o custo no nível do pod é essencial para alocar gastos por departamento e aplicação. O conjunto de gerenciamento de custos do ACK oferece políticas de estimativa baseadas em marcas d'água de agendamento (taxas de utilização de recursos). Este tópico descreve essas políticas.
O conjunto de gerenciamento de custos do ACK disponibiliza duas políticas de estimativa de custo baseadas em marcas d'água de recursos (taxas de utilização). Cada uma calcula a parcela do custo do cluster atribuída a pods e namespaces individuais.
Escolha uma política de estimativa de custo
|
Política |
Critério de alocação de custo |
Recomendada quando |
|
Estimativa de custo de recurso único |
Apenas CPU ou memória |
Um recurso predomina. Por exemplo, a marca d'água de CPU é muito superior à de memória ou a maioria das aplicações consome muita memória. |
|
Estimativa de custo ponderada de recursos |
CPU e memória, ponderadas pelas taxas de utilização recomendadas ou personalizadas |
A utilização de CPU e memória é semelhante ou as aplicações consomem ambos os tipos de recurso. |
Estimativa de custo de recurso único
Política padrão do conjunto de gerenciamento de custos. Calcula o custo do pod com base em uma única dimensão de recurso: CPU ou memória.
Cenários aplicáveis
A marca d'água de um recurso representa a razão entre os recursos solicitados e os alocáveis. Quando uma marca d'água supera significativamente a outra, esse recurso determina o agendamento e domina o custo do cluster.
Exemplo: Aplicações com uso intensivo de memória, como cargas de trabalho Java, solicitam grandes quantidades desse recurso. Se a marca d'água de memória atingir 90%, a disponibilidade de memória determinará o agendamento dos pods e o custo de memória representará 90% do custo total do cluster. A política de recurso único captura essa dinâmica com precisão.
Cálculo de custo do pod
Fórmula de custo de CPU ou memória do pod:

Cálculo de custo do namespace
Um namespace agrupa pods relacionados. Seu custo corresponde à soma das proporções de custo dos pods nele contidos, multiplicada pelo valor total da fatura do cluster.
Fórmula de custo do namespace:

Fórmula da proporção de custo do namespace:

Estimativa de custo ponderada de recursos
Calcula o custo do pod utilizando CPU e memória, ponderadas pelas taxas de utilização no nível do cluster. Garante alocação equilibrada quando as cargas de trabalho consomem ambos os tipos de recurso.
Cenários aplicáveis
Adote esta política nas seguintes situações:
As marcas d'água de CPU e memória do cluster estão próximas.
As aplicações consomem tanto CPU quanto memória.
Quando os custos de CPU e memória são semelhantes, suas marcas d'água fornecem uma base significativa para a alocação ponderada.
Cálculo de custo do pod
Esta política determina o custo do pod a partir dos pesos de CPU e memória derivados das marcas d'água no nível do cluster.
Fórmula de custo do pod:

Fórmulas de marca d'água e peso
Fórmulas para marca d'água de CPU, marca d'água de memória, peso de CPU e peso de memória:
-
Marca d'água de CPU (taxa de utilização de CPU):

-
Marca d'água de memória (taxa de utilização de memória):

-
Peso de CPU:

-
Peso de memória:

Comparação dos resultados das políticas
Exemplo 1: Predominância de um tipo de recurso
Configuração: Duas aplicações com uso intensivo de memória em execução em um cluster.
|
Aplicação |
vCore solicitado |
Memória solicitada |
|
App A |
1 vCore |
2 GB |
|
App B |
1 vCore |
4 GB |
Marca d'água de memória: 90%
Marca d'água de CPU: 20%
Custo diário do cluster: USD 200
Resultados da estimativa de custo de recurso único:
| Dimensão do recurso | Custo do pod | Cálculo | Custo não alocado |
|---|---|---|---|
| Memória | USD 180 | USD 200 x 90% | USD 20 |
| CPU | USD 40 | USD 200 x 20% | USD 160 |
A alocação por memória captura 90% do custo do cluster. A alocação por CPU deixa 80% sem alocação, mesmo restando apenas 10% de memória disponível para agendamento.
Resultados da estimativa de custo ponderada de recursos:
Peso de memória: aproximadamente 80%
Peso de CPU: aproximadamente 20%
Custo do pod: USD 152 (USD 180 x 80% + USD 40 x 20%)
Custo não alocado: USD 48
Resultado: A política de recurso único (com base em memória) aloca USD 180 de USD 200, refletindo fielmente o consumo real. A política ponderada aloca apenas USD 152 e deixa USD 48 não alocados. Em clusters onde um recurso predomina, a política de recurso único oferece maior precisão.
Exemplo 2: Consumo de ambos os tipos de recurso
Configuração: Uma aplicação com uso intensivo de memória e outra com uso intensivo de CPU em execução em um cluster.
|
Aplicação |
vCore solicitado |
Memória solicitada |
|
App A |
1 vCore |
4 GB |
|
App B |
4 vCores |
1 GB |
Marca d'água de CPU: 40%
Marca d'água de memória: 50%
Custo diário do cluster: USD 200
Resultados da estimativa de custo de recurso único:
| Dimensão do recurso | Custo do pod | Cálculo |
|---|---|---|
| Memória | USD 100 | USD 200 x 50% |
| CPU | USD 80 | USD 200 x 40% |
Resultados da estimativa de custo ponderada de recursos:
Peso de memória: aproximadamente 56%
Peso de CPU: aproximadamente 44%
Custo do pod: USD 91,2 (USD 100 x 56% + USD 80 x 44%)
Custo não alocado: USD 8,8
Resultado: Como as marcas d'água de CPU e memória estão próximas (40% e 50%), os custos são semelhantes. A política ponderada considera ambas as dimensões e resulta em USD 8,8 de custo não alocado. Na alocação por recurso único, o valor não alocado seria de USD 100 ou USD 120. Para cargas de trabalho mistas, a política ponderada gera resultados mais equilibrados.
Reduza o custo não alocado com a política ponderada
Causa: O custo não alocado surge quando a marca d'água de um recurso supera muito a do outro. O recurso dominante atinge um gargalo enquanto o outro permanece ocioso. Por exemplo, se a marca d'água de CPU excede em muito a de memória, há memória ociosa. A política de recurso único consegue alocar esse custo, mas a política ponderada não.
Solução: Selecione tipos de instância do Elastic Compute Service (ECS) compatíveis com o perfil de recursos da sua carga de trabalho para manter as marcas d'água de CPU e memória próximas. Como alternativa, adote a política de recurso único.
API de dados de custo
Obtenha dados de insights de custo via API para desenvolvimento personalizado. Consulte Chamar uma API para consultar dados de custo.