Governança de custos com Kubecost
A governança de custos é o processo contínuo de implementação de políticas para controlar custos. No contexto do Kubernetes, há várias maneiras pelas quais as organizações podem controlar e otimizar custos. Isso inclui ferramentas nativas do Kubernetes para gerenciar e controlar o uso e o consumo de recursos e monitorar e otimizar proativamente a infraestrutura subjacente.
Esta seção mostra como usar o Kubecost para controlar os custos de cluster do Serviço Kubernetes do Azure (AKS). Você pode definir o escopo da alocação de custos para uma implantação, serviço, rótulo, pod ou namespace, que fornece flexibilidade no carregamento de volta ou na exibição de usuários do cluster.
Instalar Kubecost
Existem várias opções de instalação do Kubecost. Para obter mais informações, consulte Instalando o Kubecost.
O método de instalação recomendado é o gráfico Helm 3. Para instalar uma configuração básica do Kubecost usando o Helm 3, use os seguintes comandos:
helm repo add kubecost https://kubecost.github.io/cost-analyzer/
helm repo update
helm upgrade --install kubecost kubecost/cost-analyzer --namespace kubecost --create-namespace
Após alguns minutos, verifique se o Kubecost está instalado e funcionando:
kubectl get pods -n kubecost
# Connect to the Kubecost dashboard UI
kubectl port-forward -n kubecost svc/kubecost-cost-analyzer 9090:9090
Agora você pode abrir seu navegador e apontar para http://127.0.0.1:9090
para abrir a interface do usuário do Kubecost. Na interface do usuário do Kubecost, selecione seu cluster para exibir informações de alocação de custos.
Configurando o Kubecost para integração com a nuvem do Azure
Para concluir a instalação do Kubecost, você deve configurar a Integração de Nuvem do Azure e a Configuração de Cartão de Preços do Azure.
Com o Microsoft Cost Export, você pode criar uma tarefa recorrente que exporta automaticamente seus dados do Gerenciamento de Custos para uma conta de armazenamento do Azure diariamente. O Kubecost é configurado para acessar os dados nessa conta de armazenamento, permitindo que ele exiba o custo total dos recursos do Azure no painel, não apenas os dados provenientes do cluster AKS. Para garantir que o Kubecost produza painéis precisos, você deve marcar seus recursos do Azure conforme descrito na documentação do Kubecost para marcar os recursos do Azure. Alguns recursos do Azure são criados pelo cluster AKS, esse é o caso quando você cria um Serviço do tipo LoadBalancer
ou um PersistentVolume
arquivo . Para controlar o custo desses recursos corretamente, você pode usar anotações nos recursos do Kubernetes para adicionar as marcas do Azure adequadas, como exemplos no artigo "Usar marcas do Azure no Serviço Kubernetes do Azure".
A Configuração da Tabela de Preços do Azure é necessária para que os preços precisos sejam relatados em seu painel. Você precisará criar uma Entidade de Serviço com uma função personalizada, conforme explicado na página de documentação, e configurar o Kubecost para usar a Entidade de Serviço para consultar a API da Placa de Taxa de Cobrança do Azure.
Navegar Kubecost
Kubecost divide os recursos nas seguintes categorias:
- Custo mensal do cluster
- Custo do namespace
- Custo do recurso de implantação
- Eficiência de custos
Selecione seu cluster para ver uma visão geral, como o painel a seguir:
Selecione Alocação à esquerda para analisar o custo do namespace de seus recursos. A alocação mostra o custo da CPU, memória, volumes persistentes e rede. O Kubecost obtém os dados dos preços do Azure, mas você também pode definir custos personalizados para os recursos.
Selecione Economia à esquerda para analisar a economia de custos para recursos subutilizados. A economia fornece informações sobre nós e pods subutilizados e recursos abandonados e identifica solicitações de recursos provisionadas em excesso dentro do cluster. A captura de tela a seguir mostra um exemplo de visão geral de Economia :
Reserve algum tempo para navegar pelas diferentes visualizações e recursos que o Kubecost oferece.