Governança de custo com Kubecost
A governança de custos é o processo contínuo de implementação de políticas para controlar os custos. No contexto do Kubernetes, há várias maneiras pelas quais as organizações podem controlar e otimizar os 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 reger os custos de cluster do Serviço de Kubernetes do Azure (AKS). Você pode criar o escopo da alocação de custo para uma implantação, serviço, rótulo, pod ou namespace, o que oferece flexibilidade na cobrança ou na exibição de usuários do cluster.
Instalar o Kubecost
Há várias opções de instalação do Kubecost. Para obter mais informações, confira Como instalar 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á em execução:
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 o 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 o cluster para exibir informações de alocação de custo.
Configurando o Kubecost para integração de nuvem do Azure
Para concluir a instalação do Kubecost, você deve configurar a Integração de Nuvem do Azure e a Configuração do Cartão de Taxa do Azure.
Com a Exportação de Custos da Microsoft, você pode criar uma tarefa recorrente que exporta automaticamente seus dados de Gerenciamento de Custos para uma conta de armazenamento do Azure diariamente. O Kubecost está 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 adequadas do Azure, como exemplos no artigo "Usar marcas do Azure no Serviço Kubernetes do Azure".
A Configuração do Cartão 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 pelo Kubecost
O Kubecost divide os recursos nas seguintes categorias:
- Custo mensal do cluster
- Custo do namespace
- Custo de recurso de implantação
- Redução de custos
Selecione seu cluster para ver uma visão geral como o painel a seguir:
Selecione Alocação à esquerda para se aprofundar no custo do namespace de seus recursos. Alocação mostra o custo para 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 Economias à esquerda para se aprofundar na economia de custos para recursos subutilizados. Economias oferecee informações sobre nós e pods subutilizados e recursos abandonados e identifica solicitações de recursos superprovisionadas dentro do cluster. A captura de tela a seguir mostra um exemplo de visão geral de Economias:
Navegue pelas diferentes exibições e recursos que o Kubecost fornece.