O blog da AWS

AWS e Kubecost colaboram para oferecer o Kubecost 2.0 para usuários do Amazon EKS

Por Jason Janiak, Ajay Tripathy, and Alex Thilen.

Introdução

Em agosto de 2022, o Amazon Elastic Kubernetes Service (Amazon EKS) anunciou a disponibilidade de um pacote otimizado do Kubecost para o Amazon EKS para visibilidade de custos do cluster. O pacote está disponível gratuitamente para usuários do Amazon EKS e permite que os usuários obtenham informações mais detalhadas sobre os custos dos recursos do Kubernetes, como namespace, cluster, pod e conceitos organizacionais (por exemplo, por equipe ou aplicativos).

Hoje, temos o prazer de anunciar que os usuários do Amazon EKS podem se beneficiar de novos recursos como parte do anúncio do Kubecost 2.0, sem nenhum custo. Esta postagem mostra os principais novos recursos e como os usuários podem começar a usar cada um deles.

Monitoramento de rede

O monitoramento de rede do Kubecost fornece visibilidade total dos custos da rede em nuvem e do Kubernetes. Ao monitorar o custo de pods, namespaces, clusters e serviços em nuvem, você pode rastrear e atribuir rapidamente os custos de rede aos seus aplicativos quase em tempo real. Você pode descobrir mais sobre as fontes dos seus custos de tráfego de entrada e saída, arrastar e soltar ícones representando entidades do Kubernetes (por exemplo, namespace, cluster ou pod) ou se concentrar em rotas de tráfego específicas. Essa funcionalidade é especialmente útil para organizações maiores que têm uma porcentagem maior de seus gastos com a nuvem representada nos custos de rede nas regiões ou zonas da AWS. Também é útil para qualquer usuário que queira aprender mais sobre os complexos custos de rede. Você pode aprender mais na documentação do Monitoramento de Rede do Kubecost.

Figura 1 Monitoramento de Rede

Ações

As ações do Kubecost fornecem aos usuários fluxos de trabalho automatizados para otimizar os custos do Kubernetes. Estas podem ser configuradas na interface do usuário do Kubecost ou pela configuração YAML. Está disponível hoje com duas ações principais:

  1. Dimensionamento dinâmico de solicitações: implemente automaticamente as recomendações de dimensionamento correto de contêineres do Kubecost para ajudar a prevenir desperdícios e economizar dinheiro.
  2. Desativação de clusters e namespaces: configure uma programação para desativar seus clusters ou namespaces quando você não precisar deles, como à noite ou nos fins de semana. Faça com que eles sejam reativados automaticamente quando você quiser reiniciar o trabalho.

Essas atualizações facilitam para os usuários obterem ao máximo nossa funcionalidade de economia. Você pode saber mais na documentação de Ações do Kubecost.

Figura 2 Ações

Previsão e detecção de anomalias

Novos modelos de previsão baseados em aprendizado de máquina (ML) usam dados históricos de gastos com Kubernetes e outros dados de gastos na nuvem para fornecer previsões precisas. Isso permite que as equipes antecipem flutuações de custos e aloquem recursos de forma eficiente. Esses modelos são treinados em seu cluster, usando seus dados de gastos e, como sempre, o Kubecost não coleta nenhum dado do seu cluster. Você pode acessar a previsão por meio dos principais painéis de monitoramento do Kubecost – Alocações, Ativos e o Explorador de custos em Nuvem, selecionando qualquer intervalo de datas futuras. Em seguida, você pode observar os custos futuros projetados e seus gastos realizados. O Painel de Detecção de Anomalias do Kubecost mostra mudanças significativas em seus gastos com Kubernetes ou com a nuvem. Isso ajuda você a detectar aumentos inesperados de custos com mais rapidez. Saiba mais na documentação de previsão e detecção de anomalias do Kubecost.

Figura 3 Previsão e detecção de anomalias

Melhoria de desempenho de 100x em escala

O Kubecost 2.0 introduz uma grande atualização com um novo back-end de API, oferecendo uma enorme melhoria de desempenho de 100x em escala, juntamente com um aumento de 3x na eficiência de recursos. Isso significa que os usuários agora podem experimentar interações significativamente mais rápidas e responsivas com as APIs e a interface do usuário do Kubecost, especialmente ao lidar com ambientes Kubernetes de grande escala. Você pode consultar mais de três anos de dados históricos, o que fornece às equipes de engenharia e FinOps uma visão abrangente das tendências de uso de recursos e, permite uma tomada de decisão mais acurada e uma análise de tendências de longo prazo.

Quer observar o Kubecost 2.0 em ação? Assista a este episódio de Containers from the Couch para saber mais!

Instalando o Kubecost

Os usuários podem implantar rapidamente o Kubecost para monitoramento de custos do Amazon EKS a partir do Helm por meio do Amazon Elastic Container Registry (Amazon ECR), como um complemento do Amazon EKS, ou do AWS Marketplace. Você também pode instalar o Kubecost usando as etapas a seguir.

Implantação do Kubecost no Amazon EKS

Para começar, você pode seguir estas etapas para implementar o Kubecost em seu cluster Amazon EKS em poucos minutos usando o Helm.

Pré-requisitos

Os seguintes pré-requisitos são necessários para essa implementação:

  1. Instale as seguintes ferramentas: Helm 3.9+, kubectl e, opcionalmente, eksctl e AWS Command Line Interface (AWS CLI).
  2. Acesso a um cluster Amazon EKS. Para implantar um, leia Comece a usar o Amazon EKS.
  3. Se o seu cluster estiver executando o Kubernetes versão 1.23 ou posterior, você deverá ter o driver CSI do Amazon Elastic Block Store (Amazon EBS) instalado no seu cluster.

Etapa 1: instalar o Kubecost em seu cluster Amazon EKS

Em seu ambiente, execute o seguinte comando em seu terminal para instalar o Kubecost em seu cluster Amazon EKS existente

helm upgrade -i kubecost \
oci://public.ecr.aws/kubecost/cost-analyzer --version 2.4.1 \
--namespace kubecost --create-namespace \
-f https://raw.githubusercontent.com/kubecost/cost-analyzer-helm-chart/develop/cost-analyzer/values-eks-cost-monitoring.yaml

Você pode encontrar as versões disponíveis do pacote Kubecost otimizado do Amazon EKS aqui. Recomendamos encontrar e instalar a versão mais recente disponível do analisador de custos Kubecost.

Por padrão, a instalação inclui determinados softwares como pré-requisitos, como o  Prometheus e kube-state-metrics. Para personalizar sua implantação (por exemplo, ignorar esses pré-requisitos se você já os tiver em execução no seu cluster), você pode encontrar uma lista das opções de configuração disponíveis no arquivo de configuração do Helm.

Etapa 2: Gerar o endpoint do painel Kubecost

Depois de instalar o Kubecost usando o comando Helm na Etapa 1, ele deve levar menos de dois minutos para ser concluído e os dados aparecerão logo depois. Você pode executar o comando a seguir para ativar o encaminhamento de portas para expor o painel do Kubecost:

kubectl port-forward --namespace kubecost deployment/kubecost-cost-analyzer 9090

Etapa 3: acessar o painel de monitoramento de custos

No seu navegador, acesse http://localhost:9090 para acessar o painel.

Agora você pode começar a monitorar o custo e a eficiência do seu cluster Amazon EKS. Dependendo dos requisitos e da configuração da sua organização, existem várias opções para expor o Kubecost para acesso interno contínuo. A seguir estão alguns exemplos que você pode usar como referência. É altamente recomendável não expor o Kubecost para acesso fora do cluster sem uma camada de autenticação.

Limpeza

Você pode desinstalar o Kubecost do seu cluster com o comando a seguir.

helm uninstall kubecost –-namespace kubecost

O Kubecost tem o prazer de lançar esses novos recursos de monitoramento de custos em colaboração com a AWS, permitindo aos usuários monitorar e acompanhar os custos com o Amazon EKS. Você pode saber mais sobre como o Kubecost pode ajudá-lo a monitorar e reduzir seus custos com Kubernetes e nuvem visitando nosso site. Se precisar de suporte, você pode enviar uma solicitação de suporte por e-mail. Se você quiser saber mais sobre a equipe da Kubecost, entre em contato com eles aqui.

Este blog é uma tradução do blog original em inglês (link aqui).

Autores

Jason Janiak é Arquiteto de Soluções para parceiros na AWS. Jason contribui para o sucesso dos parceiros por meio da colaboração/criação de oportunidades para promover crescimento e integração com a AWS.

Ajay Tripathy é cofundador e CTO da Kubecost. Ajay foi um dos autores originais do projeto CNCF OpenCost e atualmente lidera as equipes de engenharia da Kubecost.

Alex Thilen é chefe de desenvolvimento de negócios da Kubecost, com foco em parceiros como a AWS. Antes da Kubecost, Alex estava na equipe do AWS Marketplace, liderando a categoria de software de contêineres.

Tradutores

Marcelo Moras é Arquiteto de Soluções na AWS atendendo clientes Enterprise com foco em mercado financeiro. Com mais de 15 anos de experiência atuando com infraestrutura, administração de sistemas, redes, containers e segurança.
Felipe Olivieri é Arquiteto de Soluções na AWS, possuindo mais de 20 anos de experiência. Felipe atuou em centenas de projetos de infraestrutura de TI em sua carreira e agora utiliza esse aprendizado para apoiar clientes AWS em suas jornadas de migração para a nuvem.