Instalar o Kubecost e acessar o painel - Amazon EKS

Ajudar a melhorar esta página

Quer contribuir para este guia do usuário? Role até o final desta página e selecione Editar esta página no GitHub. Suas contribuições ajudarão a tornar nosso guia do usuário melhor para todos.

Instalar o Kubecost e acessar o painel

O Amazon EKS oferece suporte ao Kubecost, que você pode usar para monitorar os custos detalhados por recursos do Kubernetes, incluindo Pods, nós, namespaces e rótulos. Este tópico aborda a instalação do Kubecost e o acesso ao painel do Kubecost.

O Amazon EKS fornece um pacote otimizado para a AWS de Kubecost para visibilidade de custos do cluster. É possível usar seus acordos de suporte da AWS existentes para obter suporte. Para obter mais informações sobre as versões disponíveis do Kubecost, consulte Saiba mais sobre o Kubecost.

Como um administrador de plataforma do Kubernetes e líder financeiro, é possível usar o Kubecost para visualizar um detalhamento das cobranças do Amazon EKS, alocar custos e cobrar de forma retroativa unidades organizacionais, como equipes de aplicações. É possível fornecer às suas equipes internas e unidades de negócios dados de custos transparentes e precisos com base em seu faturamento real da AWS. Além disso, você também pode obter recomendações personalizadas para otimização de custos com base no ambiente de infraestrutura e nos padrões de uso em seus clusters.

nota

O Kubecost v2 apresenta vários novos recursos importantes. Saiba mais sobre o Kubecost v2.

Para obter mais informações sobre o Kubecost, consulte a documentação do Kubecost.

Instalar o Kubecost usando o Helm

Pré-requisitos
  • Um cluster existente do Amazon EKS. Para implantar, consulte Começar a usar o Amazon EKS. O cluster deve ter nós do Amazon EC2 porque não é possível executar o Kubecost em nós do Fargate.

  • A ferramenta da linha de comando kubectl está instalada no seu dispositivo ou no AWS CloudShell. A versão pode ser idêntica ou até uma versão secundária anterior ou posterior à versão Kubernetes do seu cluster. Por exemplo, se a versão do cluster for a 1.30, você poderá usar o kubectl versão 1.29, 1.30 ou 1.31 com ele. Para instalar ou atualizar o kubectl, consulte Configurar o kubectl e o eksctl.

  • A versão 3.9.0 ou posterior do Helm configurada no seu dispositivo ou no AWS CloudShell. Para instalar ou atualizar o Helm, consulte Implantar aplicações com o Helm no Amazon EKS.

  • Se o seu cluster for versão 1.23 ou posterior, você deverá ter o Armazene volumes do Kubernetes com o Amazon EBS instalado no seu cluster.

  1. Determine a versão do Kubecost a ser instalada. É possível ver as versões disponíveis em Kubecost/cost-analyzer na Galeria pública do Amazon ECR. Para obter mais informações sobre a compatibilidade das versões do Kubecost e do Amazon EKS, consulte os requisitos de ambiente na documentação do Kubecost.

  2. Instale o Kubecost com o seguinte comando. Substitua kubecost-version pelo valor obtido do ECR, como 1.108.1.

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

    O Kubecost lança novas versões regularmente. É possível atualizar sua versão usando o helm upgrade. Por padrão, a instalação inclui um servidor do Prometheus local e kube-state-metrics. Você pode personalizar sua implantação para usar o Amazon Managed Service for Prometheus seguindo a documentação em Integrating with Amazon EKS cost monitoring (Integrar com o monitoramento de custos do Amazon EKS). Para obter uma lista de todas as outras definições que você pode configurar, consulte o exemplo de arquivo de configuração no GitHub.

    É possível remover o Kubecost do seu cluster com os seguintes comandos.

    helm uninstall kubecost --namespace kubecost kubectl delete ns kubecost

Instalar o Kubecost usando os complementos do Amazon EKS

Os complementos do Amazon EKS reduzem a complexidade da atualização do Kubecost e do gerenciamento de licenças. Os complementos do EKS são integrados ao AWS Marketplace.

  1. Verifique o Kubecost no console do AWS Marketplace e assine.

  2. Determine o nome do seu cluster e a região. Verifique se você fez login na AWS CLI com permissões suficientes para gerenciar o EKS.

  3. Crie o complemento Kubecost.

    aws eks create-addon --addon-name kubecost_kubecost --cluster-name $YOUR_CLUSTER_NAME --region $AWS_REGION

Saiba como remover um complemento do EKS, como o Kubecost.

Acessar o painel do Kubecost

  1. Certifique-se de que os Pods necessários estejam em execução.

    kubectl get pods -n kubecost

    Veja um exemplo de saída abaixo.

    NAME READY STATUS RESTARTS AGE kubecost-cost-analyzer-b9788c99f-5vj5b 2/2 Running 0 3h27m kubecost-kube-state-metrics-99bb8c55b-bn2br 1/1 Running 0 3h27m kubecost-prometheus-server-7d9967bfc8-9c8p7 2/2 Running 0 3h27m
  2. No seu dispositivo, ative o encaminhamento de portas para expor o painel do Kubecost.

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

    Como alternativa, é possível usar o AWS Load Balancer Controller para expor o Kubecost e usar o Amazon Cognito para autenticação, autorização e gerenciamento de usuários. Para obter mais informações, consulte Como usar o Application Load Balancer e o Amazon Cognito para autenticar usuários para suas aplicações Kubernetes da Web.

  3. No mesmo dispositivo em que você concluiu a etapa anterior, abra um navegador da Web e digite o seguinte endereço.

    http://localhost:9090

    Você verá a página de visão geral do Kubecost em seu navegador. Pode levar de 5 a 10 minutos para o Kubecost coletar métricas. É possível ver seus gastos com o Amazon EKS, incluindo custos cumulativos de cluster, custos de ativos do Kubernetes associados e gastos mensais agregados.

    Painel Kubecost
  4. Para rastrear os custos em um nível de cluster, marque seus recursos do Amazon EKS para cobrança. Para ter mais informações, consulte Marcar recursos para faturamento.

É possível visualizar também as seguintes informações selecionando-as no painel esquerdo do painel:
  • Cost allocation (Alocação de custos): visualize os custos mensais do Amazon EKS e os custos cumulativos de cada um dos seus namespaces e outras dimensões nos últimos sete dias. Isso é útil para entender quais partes da sua aplicação estão contribuindo para os gastos do Amazon EKS.

  • Assets (Ativos): visualize os custos dos ativos de infraestrutura da AWS que estão associados aos recursos do Amazon EKS.