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 a1.30
, você poderá usar okubectl
versão1.29
,1.30
ou1.31
com ele. Para instalar ou atualizar okubectl
, 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.
-
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. -
Instale o Kubecost com o seguinte comando. Substitua
kubecost-version
pelo valor obtido do ECR, como1.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.yamlO 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 Prometheusseguindo 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.
-
Verifique o Kubecost no console do AWS Marketplace
e assine. -
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.
-
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
-
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 -
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
. -
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.
-
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.