Saiba como ativar e usar o recurso de cost insights para registered clusters. Esse recurso ajuda você a analisar detalhamentos de custos, monitorar a utilização de recursos e otimizar os gastos do seu cluster.
Pré-requisitos
A versão do Kubernetes do seu cluster é 1.18.8 ou posterior. Se o seu cluster executa uma versão anterior, atualize o cluster. Para mais informações, consulte Manually upgrade a cluster.
O Managed Service for Prometheus está ativado. Para mais informações, consulte Enable Managed Service for Prometheus.
Ativar análise de custos
Conta única
Configure as permissões do RAM e ative o cost insights para um registered cluster em uma única conta Alibaba Cloud.
Etapa 1: Configurar permissões do RAM
onectl
Instale e configure o onectl na sua máquina local. Para mais informações, consulte Manage registered clusters using onectl.
-
Conceda permissões do RAM ao add-on ack-cost-exporter:
onectl ram-user grant --addon ack-cost-exporterSaída esperada:
Ram policy ack-one-registered-cluster-policy-ack-cost-exporter granted to ram user ack-one-user-ce313528c3 successfully.
Console
-
Create a custom policy. O add-on ack-cost-exporter requer as permissões definidas na seguinte política:
-
Create an AccessKey para o usuário do RAM.
AvisoPara maior segurança, configure uma política de controle de acesso à rede para o AccessKey, a fim de restringir o acesso a ambientes de rede confiáveis e melhorar a segurança. Para mais informações, consulte AccessKey-based network access restriction policies.
-
Use o par de AccessKey para criar um Secret chamado alibaba-addon-secret para o add-on ack-cost-exporter no cluster registrado.
kubectl -n kube-system create secret generic alibaba-addon-secret --from-literal='access-key-id=<your AccessKey ID>' --from-literal='access-key-secret=<your AccessKey Secret>'
Etapa 2: Instalar o ack-cost-exporter
onectl
Instale o add-on ack-cost-exporter:
onectl addon install ack-cost-exporter
Saída esperada:
Addon ack-cost-exporter, version **** installed.
Console
Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.
-
Na página Clusters, clique no nome do cluster de destino e, em seguida, na barra de navegação à esquerda, selecione .
Se já existir uma release do ack-cost-exporter na página do Helm, exclua a release e reinstale-a seguindo as etapas subsequentes.
Na barra de navegação à esquerda da página de gerenciamento do cluster, selecione .
Na página Add-ons, clique na aba Observability, localize o add-on ack-cost-exporter e clique em Install no canto inferior direito. Em seguida, clique em OK.
Entre contas
Para gerenciar um cluster ACK na Conta B a partir de um registered cluster na Conta A, você deve conceder permissões na Conta B para permitir que o recurso de cost insights acesse os dados de billing da Conta B.
Etapa 1: Configurar permissões do RAM para a Conta B
Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em .
-
Conceda permissões para acessar os dados de faturamento do cluster ACK.
-
Clusters ACK gerenciados
O sistema cria automaticamente a função do RAM AliyunCSManagedCostRole. O Prometheus assume essa função para acessar seus dados de faturamento.
Ou autorize pela página de RAM Quick Authorization.
-
Clusters dedicados do ACK
Adicione permissões de faturamento à política da função worker:
NotaO cluster ACK na Conta B não requer o Managed Service for Prometheus. Se esse serviço já estiver ativado no cluster, primeiro desinstale o add-on ack-arms-prometheus. Para mais informações, consulte Manage add-ons.
-
Etapa 2: Instalar o add-on na Conta A
Na Conta A, onde reside o cluster registrado, instale o Managed Service for Prometheus. Para mais informações, consulte Connect a registered cluster to Managed Service for Prometheus.
-
Na Conta A, onde reside o cluster registrado, configure o parâmetro
AckRegisteredClusterIdpara o add-on ack-cost-exporter. Defina o parâmetro como oclusterIddo cluster ACK na Conta B.Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.
-
Na página Clusters, clique no nome do cluster de destino e, em seguida, na barra de navegação à esquerda, selecione .
Se já existir uma release do ack-cost-exporter na página do Helm, exclua a release e reinstale-a seguindo as etapas subsequentes.
Na barra de navegação à esquerda da página de gerenciamento do cluster, selecione .
Na página Add-ons, clique na aba Observability, localize o add-on ack-cost-exporter e clique em Install no canto inferior direito.
Na página Install Component, defina
registeredAckClusterIdcomo o clusterId do cluster na Conta B e, em seguida, clique em OK.
Notas de uso
Após ativar o recurso Cost Insights, os dados de fatura são exibidos automaticamente às 08:00 do dia seguinte. Selecione a lista suspensa no canto superior direito para visualizar os dados de custo do cluster para diferentes intervalos de tempo.
Análise de custos por cluster
Critérios de filtro

|
Recurso |
Número |
Descrição |
|
Opções de estatísticas de custo para clusters |
① |
Opções para estatísticas de custo do cluster.
Para mais informações, consulte Bill details. Nota
As estatísticas de custo para a parte de aplicação do cluster, incluindo estatísticas de custo para dimensões de aplicação como namespace e Pod, são calculadas apenas pelo Original Billing cost without discount. |
|
Opções de modelo de alocação de custos |
② |
As opções de modelo de alocação de custos incluem o modelo de recurso único e o modelo híbrido de recursos ponderados. Para mais informações, consulte Cost estimation policies.
|
|
Intervalo de tempo |
③ |
O intervalo de tempo do painel. O padrão são os últimos 7 dias. Você pode definir esta opção para visualizar as tendências de custos e recursos para diferentes intervalos de tempo. |
Visão geral dos custos do cluster

|
Recurso |
Número |
Descrição |
|
Visualizar o modelo de alocação de custos |
① |
Este resultado depende da opção de modelo de alocação de custos que você selecionar. Por padrão, o painel usa a opção CPU model, que utiliza as solicitações de recursos de CPU para estimar os custos do Pod. |
|
Analisar o resumo de custos do cluster por ontem, esta semana e este mês |
② |
Estatísticas de custos. Os gastos do cluster ontem, a proporção de custos dia a dia, os gastos acumulados nesta semana e os gastos acumulados neste mês são estatísticas de custos de fatura para os recursos de cloud neste cluster. Os gastos acumulados nesta semana e os gastos acumulados neste mês são estatísticas de gastos de fatura para a semana civil e o mês civil, respectivamente. Como o ciclo de faturamento tem um atraso de T+1, os gastos acumulados nesta semana não são exibidos às segundas-feiras, e os gastos acumulados neste mês não são exibidos no primeiro dia de cada mês. A proporção de custos dia a dia compara o custo do cluster de ontem com o custo do dia anterior. Verde indica uma diminuição e vermelho indica um aumento. |
|
Usar tendências de custos para avaliar o custo do cluster e o desperdício de recursos |
③ |
Um gráfico de tendências dos gastos do cluster e da capacidade do cluster. A curva amarela indica o consumo de custos e a curva azul indica a capacidade real do cluster. Na maioria dos casos, as duas curvas estão correlacionadas até certo ponto. Compare a correlação entre as duas curvas. Se as duas tendências forem inconsistentes, o custo por núcleo no cluster é anormal. Verifique se algum recurso está incorrendo em custos excessivos. |
|
Visualizar estimativa de custo em tempo real e alocação de custos por namespace |
④⑤ |
④ é o custo estimado em tempo real de cada namespace no cluster. O custo de um namespace é a soma dos custos estimados de todos os Pods no namespace. ⑤ é o valor de alocação de custo de cada namespace, que é a parcela do custo real do cluster alocada ao namespace com base na proporção estimada. Nota
Os nós em um cluster podem ter diferentes tipos de instância e métodos de faturamento. Ao alocar custos por namespace, você não pode depender apenas das solicitações de recursos de cada namespace. Você também deve considerar os nós nos quais os Pods no namespace são executados. O Cost Insights converte o custo em tempo real de cada nó. Ao calcular os custos por namespace, o custo é convertido para Descontos de usuário, deduções de vouchers, faturamento por assinatura e outros métodos de faturamento atrasado podem fazer com que o custo de um namespace difira do custo real da fatura do cluster. Você pode alocar custos multiplicando a proporção de custo do namespace pelo custo total do cluster. |
Análise de estabilidade e eficiência

|
Recurso |
Número |
Descrição |
|
Visualizar o uso total de recursos do cluster |
① |
O número de Pods em cada Quality of Service (QoS) Class no cluster e o uso total de recursos. |
|
Visualizar a utilização de recursos dos Pods do cluster |
② |
As informações básicas e a utilização de recursos (Usage/Request) de todos os Pods no cluster. Você pode filtrar e classificar a lista. Use este recurso para visualizar, em massa, as workloads com a marca d'água de recurso mais alta ou mais baixa no cluster. |
|
Visualizar as configurações de recursos dos Pods Burstable no cluster |
③ |
As configurações de recursos dos Pods cuja QoS Class é Burstable. Você pode filtrar e classificar a lista. Use este recurso para visualizar as solicitações (Request) e limites (Limit) de recursos como CPU e memória para cada Pod Burstable. Isso ajuda você a entender os recursos do cluster que cada Pod consome e a identificar possíveis gargalos de recursos. |
|
Visualizar o uso de recursos dos Pods BestEffort no cluster |
④ |
As configurações de recursos dos Pods cuja QoS Class é BestEffort. Esses Pods geralmente apresentam um maior risco de estabilidade. Você pode filtrar e classificar a lista para verificar se há Pods BestEffort inesperados e evitar o risco. |
Para mais informações sobre o recurso de Análise de estabilidade e eficiência, consulte Use cost insights to identify risks for cluster workloads.
Análise de custos do cluster

|
Recurso |
Número |
Descrição |
|
Analisar os custos de produtos de cloud por meio de tendências e proporções de custos de produtos de cloud |
①② |
③ mostra a proporção dos gastos com cada produto de cloud no cluster, e ④ mostra a tendência de gastos com cada produto de cloud no cluster. Um cluster pode conter vários produtos de cloud. Diferentes produtos de cloud são usados e faturados de maneiras diferentes, portanto, os custos que eles incorrem variam. Você pode visualizar os gastos com diferentes produtos de cloud por tendência de custo e composição para tomar decisões de custos. |
|
Analisar os custos do cluster por meio das tendências de custo total do cluster |
③ |
A tendência diária do custo total do cluster. |
|
Analisar os custos do cluster por meio das tendências de custo do pool de nós |
④ |
Uma análise do custo de fatura dos nós em cada pool de nós ou nó virtual no cluster. |
|
Visualizar tendências de estimativa de custo em tempo real por namespace |
⑤ |
Os nós em um cluster podem ter diferentes tipos de instância e métodos de faturamento. Ao alocar custos por namespace, você não pode depender apenas das solicitações de recursos de cada namespace. Você também deve considerar os nós nos quais os Pods no namespace são executados. O Cost Insights converte o custo em tempo real de cada nó. Ao calcular os custos por namespace, o custo é convertido para Descontos de usuário, deduções de vouchers, faturamento por assinatura e outros métodos de faturamento atrasado podem fazer com que o custo de um namespace difira do custo real da fatura do cluster. Você pode alocar custos multiplicando a proporção de custo do namespace pelo custo total do cluster. |
|
Tendências de solicitação e utilização de recursos de computação do cluster |
⑥ |
Casos de uso:
Detalhes do gráfico de tendências:
Processo de análise:
|
|
Detalhes de faturamento do cluster |
⑦⑧ |
A lista diária de faturas do cluster, por produto de cloud e por instância de produto de cloud. |
Análise de custos para nós de data center on-premises
O recurso de cost insights pode analisar custos para on-premises data center nodes em um cluster registrado e para aplicações implantadas nesses nós. Por padrão, o cost insights calcula esses custos a um preço unitário de 0,2 USD/Core*Hour. Configure um preço unitário personalizado para seus on-premises data center nodes de uma das seguintes maneiras:
-
Configurar um preço uniforme para todos os nós de data center on-premises
No
namespacekube-system, adicione a variável de ambienteDefaultIDCPricePerCPUCoreHourao Deployment ack-cost-exporter.O preço é em USD /Core*Hour.
env: # Set the price per core hour for each on-premises data center node to USD 0.3. - name: DefaultIDCPricePerCPUCoreHour value: "0.3" -
Configurar um preço separado para um nó específico
Adicione o rótulo
"node.kubernetes.io/price-per-day"a um nó específico.O preço é o preço total por dia para este nó.
Defina o preço diário total para um nó específico como 100 USD:
kubectl label nodes <node-name> node.kubernetes.io/price-per-day="100"
Perguntas frequentes
Por que nenhum dado é exibido após eu ativar a visualização de custos?
Verifique se a autorização da função do RAM está completa. Para obter detalhes sobre como ativar o recurso de análise de custos, consulte step3. A análise de custos requer os dados de monitoramento e os dados de custo do cluster. A coleta de dados de monitoramento começa em até 3 minutos após a ativação do recurso. Os dados de custo são exibidos às 08:00 do dia seguinte à ativação da análise de custos para o cluster.
Verifique se um gateway NAT está configurado para o cluster. Algumas regiões não suportam a consulta de faturas por meio de um endpoint interno. Certifique-se de que seu cluster possa acessar a Internet.
A proporção de custos dia a dia e o custo estimado para o dia seguinte são exibidos apenas após a coleta de dados de custo por dois dias consecutivos.
Por que o total dos custos do namespace não corresponde à fatura real?
O custo de um namespace é derivado da estimativa de custos, e não de uma análise direta da fatura. A estimativa de custos é calculada com base nos preços de tabela. Portanto, podem ocorrer desvios de dados quando o custo do cluster inclui políticas de dedução, como vouchers, descontos e planos de economia. Você pode alocar a fatura multiplicando a proporção de cada namespace pelo custo total do cluster.
Por que os dados de custo estão indisponíveis para os Pods em alguns nós?
Verifique se a autorização da função do RAM está completa e se a política de autorização inclui a permissão "ecs:DescribeDisks". Para obter detalhes sobre como ativar o recurso de análise de custos, consulte step 3.
Por que os produtos de cloud exibidos na fatura não incluem todos os produtos de cloud que o cluster usa?
A análise de custos contabiliza apenas os produtos de cloud que são usados exclusivamente por este cluster. Produtos de cloud que são compartilhados por vários clusters não são incluídos nas estatísticas de fatura da análise de custos.
O recurso Cost Insights depende do recurso de tag de alocação de custos do console Expenses and Costs. Ou seja, depende de um identificador específico nas tags do produto de cloud (chave: valor=ack.aliyun.com:{{ClusterId}}) para rastrear os custos do cluster e gerar estatísticas de custos. Se você desativar essa tag na página Cost Allocation Tag, as estatísticas de custos no nível do cluster serão revogadas. Para resolver esse problema, acesse a página de gerenciamento de tags de alocação de custos e reative as tags ack.aliyun.com e ack.alibabacloud.com/nodepool-id.
Por que o gasto acumulado deste mês ou desta semana é menor que o valor real?
O cluster começa a contabilizar os custos incorridos apenas após o add-on Cost Insights ser ativado com sucesso. Os dados gerados antes da ativação do add-on não são contabilizados.