Análise de custo do AKS (Serviço de Kubernetes do Azure)
Neste artigo, você aprenderá a habilitar a análise de custo no AKS (Serviço de Kubernetes do Azure) para exibir dados de custo detalhados dos recursos do cluster.
Sobre a análise de custo
Os clusters do AKS dependem dos recursos do Azure, como VMs (máquinas virtuais), discos virtuais, balanceadores de carga e endereços IP públicos. Vários aplicativos podem usar esses recursos. Os padrões de consumo de recursos geralmente diferem para cada aplicativo, portanto, sua contribuição para o custo total dos recursos do cluster também pode variar. Alguns aplicativos podem ter volumes em vários clusters, o que pode representar um desafio ao executar a atribuição de custos e o gerenciamento de custos.
Ao habilitar a análise de custo no cluster do AKS, você poderá exibir a alocação de custos detalhada com escopo para constructos do Kubernetes, como clusters e namespaces, e recursos da Computação, Rede e Armazenamento do Azure. O complemento foi desenvolvido com base no OpenCost, um projeto de código aberto da Cloud Native Computing Foundation Incubating para coleta de dados de uso. Os dados de uso são reconciliados com os dados da fatura do Azure para fornecer uma visão abrangente dos custos do cluster do AKS diretamente nas exibições do Gerenciamento de Custos do portal do Azure.
Para obter mais informações sobre o Gerenciamento de Custos da Microsoft, confira Iniciar a análise de custo no Azure.
Depois de habilitar o complemento de análise de custo e dar tempo para que os dados sejam coletados, você pode usar as informações em Entenda o uso e os custos do AKS para ajudar você a entender seus dados.
Pré-requisitos
- Seu cluster deve usar a camada
Standard
ouPremium
, e não a camadaFree
. - Para exibir as informações de análise de custo, você deve ter uma das seguintes funções na assinatura que hospeda o cluster:
Owner
,Contributor
,Reader
,Cost Management Contributor
ouCost Management Reader
- ID de carga de trabalho do Microsoft Entra configurada em seu cluster.
- Se estiver usando a CLI do Azure, você deve ter a versão
2.61.0
ou posterior instalada. - Depois de habilitar a análise de custo, você não poderá fazer downgrade do cluster para o nível
Free
sem desabilitar primeiro a análise de custo. - Acesso à API do Azure, incluindo a API do Azure Resource Manager (ARM). Para uma lista de nomes de domínio totalmente qualificados (FQDNs) necessários, consulte FQDNs necessários para Análise de Custos do AKS.
Limitações
- As exibições de custo do Kubernetes estão disponíveis apenas para os tipos de oferta do Microsoft Azure Contrato Enterprise e Contrato de Cliente da Microsoft. Para obter mais informações, consulte Ofertas do Microsoft Azure com Suporte.
- Atualmente, não há suporte para nós virtuais.
Habilitar a análise de custos em seu cluster do AKS
Você pode habilitar a análise de custo com o sinalizador --enable-cost-analysis
durante uma das seguintes operações:
- Criando um cluster do AKS da camada
Standard
ouPremium
. - Atualizando um cluster do AKS existente da camada
Standard
ouPremium
. - Atualizando um cluster
Free
paraStandard
ouPremium
. - Atualizando um cluster
Standard
paraPremium
. - Downgrade de um cluster
Premium
para a camadaStandard
.
Habilitar a análise de custo em um novo cluster
Habilite a análise de custo em um novo cluster usando o comando az aks create
com o sinalizador --enable-cost-analysis
. O exemplo a seguir cria um novo cluster do AKS no nível Standard
com a análise de custo habilitada:
az aks create --resource-group <resource-group> --name <cluster-name> --location <location> --enable-managed-identity --generate-ssh-keys --tier standard --enable-cost-analysis
Habilitar a análise de custo em um cluster existente
Habilite a análise de custo em um cluster existente usando o comando az aks update
com o sinalizador --enable-cost-analysis
. O exemplo a seguir atualiza um cluster do AKS existente no nível Standard
para habilitar a análise de custos:
az aks update --resource-group <resource-group> --name <cluster-name> --enable-cost-analysis
Observação
Um agente é implantado no cluster quando você habilita o complemento. O agente consome uma pequena quantidade de recursos de CPU e memória.
Aviso
O uso de memória do complemento de análise de custo do AKS depende do número de contêineres implantados. Você pode aproximar o consumo de memória usando 200 MB + 0,5 MB por contêiner. O limite de memória atual está definido como 4 GB, o que dará suporte a aproximadamente 7.000 contêineres por cluster. Essas estimativas estão sujeitas a alterações.
Desabilitar a análise de custo em seu cluster do AKS
Desabilite a análise de custo usando o comando az aks update
com o sinalizador --disable-cost-analysis
.
az aks update --name <cluster-name> --resource-group <resource-group> --disable-cost-analysis
Observação
Se quiser fazer downgrade do cluster da camada Standard
ou Premium
para a camada Free
enquanto a análise de custo estiver habilitada, você deverá primeiro desabilitar a análise de custo.
Exibir os dados de custo
Você pode exibir os dados de alocação de custo no portal do Azure. Para obter mais informações, confira Exibir os custos do AKS no Gerenciamento de Custos da Microsoft.
Definições de custo
Nas exibições de namespaces e ativos do Kubernetes, você poderá ver qualquer uma das seguintes cobranças:
- Os encargos ociosos representam o custo da capacidade de recursos disponível que não é usada por nenhuma carga de trabalho.
- Os encargos do serviço representam os encargos associados ao serviço, como SLA de tempo de atividade, Microsoft Defender para Contêineres etc.
- Os encargos do sistema representam o custo da capacidade reservada pelo AKS em cada nó para executar os processos do sistema exigidos pelo cluster, incluindo o kubelet e o runtime do contêiner. Saiba mais.
- Os encargos não alocados representam o custo dos recursos que não puderam ser alocados aos namespaces.
Observação
Pode levar até um dia para que os dados sejam finalizados. Após 24 horas, qualquer flutuação nos custos do dia anterior terá se estabilizado.
Solução de problemas
Se você estiver enfrentando problemas, como o pod cost-agent
ficando OOMKilled
ou preso em um estado Pending
, confira Solucionar problemas do complemento de análise de custo do AKS.
Próximas etapas
Para obter mais informações sobre o custo no AKS, confira Entenda o uso e os custos do AKS (Serviço de Kubernetes do Azure).
Azure Kubernetes Service