Instalación de Kubecost y acceso al panel - Amazon EKS

Ayude a mejorar esta página

¿Quiere contribuir a esta guía del usuario? Desplácese hasta el final de esta página y seleccione Editar esta página en GitHub. Sus contribuciones ayudarán a que nuestra guía del usuario sea mejor para todos.

Instalación de Kubecost y acceso al panel

Amazon EKS admite Kubecost, que puede utilizar para supervisar sus costos desglosados por los recursos de Kubernetes que incluyen Pods, nodos, espacios de nombres y etiquetas. En este apartado se describe la instalación de Kubecost y el acceso al panel de control de Kubecost.

Amazon EKS ofrece un paquete optimizado por AWS de Kubecost para obtener visibilidad de los costos del clúster. Puede utilizar sus acuerdos de soporte de AWS existentes para obtener soporte. Para obtener más información sobre las versiones disponibles de Kubecost, consulte Más información sobre Kubecost.

Como administrador de plataforma y líder financiero de Kubernetes, puede usar Kubecost para visualizar un desglose de los cargos de Amazon EKS, asignar costos y aplicar cargos a las unidades organizativas, como los equipos de aplicaciones. Puede proporcionar a sus equipos internos y unidades de negocio datos de costes transparentes y precisos basados en su factura de AWS real. Además, también puede obtener recomendaciones personalizadas para la optimización de costos en función de su entorno de infraestructura y los patrones de uso dentro de sus clústeres.

nota

Kubecost v2 presenta varias características principales nuevas. Más información sobre Kubecost v2.

Para obtener más información sobre Kubecost, consulte la documentación de Kubecost.

Instalación de Kubecost mediante Helm

Requisitos previos
  • Un clúster existente de Amazon EKS. Para implementar uno, consulte Introducción a Amazon EKS. El clúster debe tener nodos de Amazon EC2 porque no se puede ejecutar Kubecost en los nodos de Fargate.

  • La herramienta de línea de comandos de kubectl está instalada en su dispositivo o AWS CloudShell. La versión puede ser la misma o hasta una versión secundaria anterior o posterior a la versión de Kubernetes de su clúster. Por ejemplo, si la versión del clúster es 1.30, puede usar la versión 1.29, 1.30 o 1.31 de kubectl con él. Para instalar o actualizar kubectl, consulte Configuración de kubectl y eksctl.

  • Versión 3.9.0 o posterior de Helm configurada en su dispositivo o AWS CloudShell. Para instalar o actualizar Helm, consulte Implementación de aplicaciones en Amazon EKS con Helm.

  • Si la versión del clúster es 1.23 o una posterior, debe haber instalado antes Almacenamiento de volúmenes de Kubernetes con Amazon EBS en el clúster.

  1. Determine la versión de Kubecost que desea instalar. Puede ver las versiones disponibles en kubecost/cost-analyzer en la galería pública de Amazon ECR. Para obtener más información sobre la compatibilidad de las versiones de Kubecost y Amazon EKS, consulte Requisitos del entorno en la documentación de Kubecost.

  2. Instale Kubecost con el siguiente comando. Sustituya kubecost-version por el valor obtenido de 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

    Kubecost publica nuevas versiones con regularidad. Puede actualizar su versión mediante helm upgrade. De manera predeterminada, la instalación incluye un servidor de Prometheus local y kube-state-metrics. Puede personalizar su implementación para usar el Servicio administrado de Amazon para Prometheus siguiendo la documentación de Integración con la supervisión de costos de Amazon EKS. Para obtener una lista de todas las opciones que puede configurar, consulte el archivo de configuración de muestra en GitHub.

    Puede eliminar Kubecost del clúster con los siguientes comandos.

    helm uninstall kubecost --namespace kubecost kubectl delete ns kubecost

Instalación de Kubecost mediante los complementos de Amazon EKS

Los complementos de Amazon EKS reducen la complejidad de actualizar Kubecost y administrar las licencias. Los complementos de EKS están integrados en AWS Marketplace.

  1. Consulte Kubecost en la consola de AWS Marketplace y suscríbase.

  2. Determine el nombre del clúster y la región. Verifique que haya iniciado sesión en la AWS CLI con permisos suficientes para administrar EKS.

  3. Cree el complemento Kubecost.

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

Obtenga información sobre cómo eliminar un complemento de EKS como Kubecost.

Acceso al panel de Kubecost

  1. Asegúrese de que los Pods necesarios estén en ejecución.

    kubectl get pods -n kubecost

    Un ejemplo de salida sería el siguiente.

    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. En el dispositivo, habilite el reenvío de puertos para exponer el panel de control de Kubecost.

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

    También puede utilizar el AWS Load Balancer Controller para exponer Kubecost y usar Amazon Cognito para la autenticación, autorización y administración de usuarios. Para obtener más información, consulte Cómo usar el equilibrador de carga de aplicación y Amazon Cognito para autenticar usuarios de las aplicaciones web de Kubernetes.

  3. En el mismo dispositivo en el que hizo el paso anterior, abra un navegador web e ingrese la siguiente dirección.

    http://localhost:9090

    Verá la página de descripción general de Kubecost en su navegador. Es posible que Kubecost tarde entre 5 y 10 minutos en recopilar las métricas. Puede ver sus gastos de Amazon EKS, incluidos los costos acumulados del clúster, los costos de los activos asociados de Kubernetes y los gastos mensuales agregados.

    panel de Kubecost
  4. Para hacer un seguimiento de los costos del clúster, etiquete sus recursos de Amazon EKS para la facturación. Para obtener más información, consulte Etiquetado de los recursos para facturación.

También puede ver la siguiente información al seleccionarla en el panel izquierdo:
  • Cost allocation (Asignación de costos): vea los costos mensuales de Amazon EKS y los costos acumulados para cada uno de sus espacios de nombres y otras dimensiones durante los últimos siete días. Esto es útil para entender qué partes de su aplicación están contribuyendo al gasto de Amazon EKS.

  • Assets (Activos): vea los costos de los activos de infraestructura de AWS que se asocian a sus recursos de Amazon EKS.