Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:How to use the cost insights feature of a registered cluster

Última atualização: Oct 15, 2026

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

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

  1. Instale e configure o onectl na sua máquina local. Para mais informações, consulte Manage registered clusters using onectl.

  2. Conceda permissões do RAM ao add-on ack-cost-exporter:

    onectl ram-user grant --addon ack-cost-exporter

    Saída esperada:

    Ram policy ack-one-registered-cluster-policy-ack-cost-exporter granted to ram user ack-one-user-ce313528c3 successfully.

Console

  1. Create a RAM user.

  2. Create a custom policy. O add-on ack-cost-exporter requer as permissões definidas na seguinte política:

    Política personalizada

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "bssapi:QueryInstanceBill",
                    "bssapi:DescribeInstanceBill"
                ],
                "Resource": "*",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "ecs:DescribeDisks",
                    "ecs:DescribeSpotPriceHistory",
                    "ecs:DescribeInstances",
                    "ecs:DescribePrice"
                ],
                "Resource": "*",
                "Effect": "Allow"
            },
            {
                "Action": "eci:DescribeContainerGroupPrice",
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }
  3. Attach the custom policy to the RAM user.

  4. Create an AccessKey para o usuário do RAM.

    Aviso

    Para 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.

  5. 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

  1. Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do cluster de destino e, em seguida, na barra de navegação à esquerda, selecione Applications > Helm.

    Se já existir uma release do ack-cost-exporter na página do Helm, exclua a release e reinstale-a seguindo as etapas subsequentes.

  3. Na barra de navegação à esquerda da página de gerenciamento do cluster, selecione Operations > Add-ons.

  4. 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

  1. Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Cost Suite > Cost Insights.

  3. 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:

      Visualizar as etapas de autorização

      1. Na página Cost Insights, clique em KubernetesWorkerRole-***.

      2. Na aba Permissions, clique em k8sWorkerRole**** na coluna Policy.

      3. Na aba Policy Document, clique em Edit Policy Document.

      4. Adicione estas instruções ao array Statement e clique em OK.

        {
            "Action": [
                "bssapi:QueryInstanceBill",
                "bssapi:DescribeInstanceBill"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "ecs:DescribeDisks",
                "ecs:DescribeSpotPriceHistory",
                "ecs:DescribeInstances",
                "ecs:DescribePrice"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "eci:DescribeContainerGroupPrice"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
        Nota

        Separe cada instrução com uma vírgula ao adicionar várias entradas.

    Nota

    O 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

  1. 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.

  2. Na Conta A, onde reside o cluster registrado, configure o parâmetro AckRegisteredClusterId para o add-on ack-cost-exporter. Defina o parâmetro como o clusterId do cluster ACK na Conta B.

    1. Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.

    2. Na página Clusters, clique no nome do cluster de destino e, em seguida, na barra de navegação à esquerda, selecione Applications > Helm.

      Se já existir uma release do ack-cost-exporter na página do Helm, exclua a release e reinstale-a seguindo as etapas subsequentes.

    3. Na barra de navegação à esquerda da página de gerenciamento do cluster, selecione Operations > Add-ons.

    4. Na página Add-ons, clique na aba Observability, localize o add-on ack-cost-exporter e clique em Install no canto inferior direito.

    5. Na página Install Component, defina registeredAckClusterId como 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

image.png

Recurso

Número

Descrição

Opções de estatísticas de custo para clusters

①

Opções para estatísticas de custo do cluster.

  • Actual Billing cost with discount (padrão): Ao calcular os custos, considera o valor a pagar por todos os recursos de cloud no cluster.

  • Original Billing cost without discount: Ao calcular os custos, considera o preço de tabela de todos os recursos de cloud no 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.

  • CPU model: A opção padrão do painel. Usa as solicitações de recursos de CPU para estimar os custos do Pod.

  • Memory model: Usa as solicitações de recursos de memória para estimar os custos do Pod.

  • CPU-Memory Hybrid Model (recommended weights): Usa métricas ponderadas de CPU e memória para estimar os custos do Pod com pesos recomendados pelo sistema.

  • CPU-Memory Hybrid Model (custom weights): Usa métricas ponderadas de CPU e memória para estimar os custos do Pod. Para usar este modelo de alocação, primeiro defina o modelo de alocação de custos como CPU-Memory Hybrid Model (custom weights) e, em seguida, edite CPU Weight Setting.

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

image

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
  • As estatísticas de custo de um namespace são calculadas pelo Original Billing cost without discount.

  • Pods que não têm uma Resource Request (CPU) configurada não são incluídos nas estatísticas de custo do 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 Σ(Pod resource requests/node capacity)*node unit price. Este método estima com precisão o custo de um namespace.

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

image

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

image

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 Σ(Pod resource requests/node capacity)*node unit price. Este método estima com precisão o custo de um namespace.

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:

  • Analisar as marcas d'água e a capacidade de recursos do cluster para determinar se existe desperdício de recursos.

  • Em cenários de dimensionamento elástico e semelhantes, as marcas d'água do cluster podem flutuar periodicamente e ajudar você a planejar a capacidade de recursos.

Detalhes do gráfico de tendências:

  • Eixo Y: A capacidade total de recursos de computação (Capacity) de todo o cluster, que representa a quantidade de recursos de aplicação que o cluster pode hospedar.

  • Barras verdes: O total de recursos de computação que são alocados (Request) no cluster durante a hora atual.

  • Barras amarelas: Os recursos de computação que os processos nos contêineres Pod realmente usam (Usage) no cluster durante a hora atual, ou seja, os recursos que as aplicações realmente usam.

Recursos de aplicação alocados, mas não utilizados=Barras verdes-Barras amarelas

Recursos restantes alocáveis do cluster=Eixo Y-Barras verdes

Processo de análise:

  • Desperdício de recursos não alocados: Consulte os recursos restantes alocáveis do cluster e use os recursos no cluster que não estão alocados e, portanto, são desperdiçados. Você pode ajustar as solicitações de recursos (Request) dos Pods no cluster ou reduzir as especificações conforme apropriado. Recomendamos que você mantenha os recursos restantes alocáveis do cluster em cerca de 20% do total de recursos do cluster.

  • Desperdício de recursos alocados, mas não utilizados: Consulte a quantidade de recursos alocados, mas não utilizados no cluster, e a classificação de aplicações e Pods desperdiçadores no painel do namespace. Identifique as aplicações que recebem recursos excessivos, mas realmente usam apenas uma pequena quantidade, e reduza a alocação de recursos (Request) delas.

  • Cenário de dimensionamento elástico: Em situações comuns, como flutuações periódicas nos seus negócios, você pode consultar as marcas d'água flutuantes no gráfico de barras para planejar a capacidade de recursos e configurar uma política elástica apropriada.

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 namespace kube-system, adicione a variável de ambiente DefaultIDCPricePerCPUCoreHour ao 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.