Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Mejora la visibilidad de sus costos en Amazon EKS.
Descripción general de
Se necesita una visión holística para supervisar de manera efectiva el costo de una implementación de Kubernetes. El único costo fijo y conocido es el del plano de control de Amazon Elastic Kubernetes Service (Amazon EKS). Esto incluye todos los demás componentes que forman parte de la implementación, desde el computación y el almacenamiento hasta las redes, y se trata de un monto que varía en función de las necesidades de la aplicación.
Puede usar Kubecost
Beneficios en términos de costos
Kubecost proporciona informes y paneles que visualizan el costo de las implementaciones de Amazon EKS. Le permite hacer un desglose de cada uno de los distintos componentes del clúster, como los controladores, los servicios, los nodos, los pods y los volúmenes. Esto le proporciona una visión holística de las aplicaciones que se ponen en marcha en un entorno Amazon EKS. Al activar esta visibilidad, puede seguir las recomendaciones de Kubecost o ver los costos de cada aplicación de forma pormenorizada. El tamaño correcto de un grupo de nodos de Amazon EKS ofrece los mismos ahorros potenciales que EC2 las instancias estándar. Si puede ajustar el tamaño correcto a sus contenedores y nodos, puede eliminar la sobrecarga de cómputo del tamaño de la instancia necesaria para ejecutar el contenedor y de la cantidad de EC2 instancias requeridas en el grupo de autoescalado.
Recomendaciones de optimización de costos
Para aprovechar Kubecost, le recomendamos que haga lo siguiente:
-
Implementación de Kubecost en el entorno
-
Obtención de un desglose detallado de los costos de las aplicaciones de Windows
-
Dimensionamiento correcto de los nodos del clúster
-
Dimensionamiento correcto de las solicitudes de contenedor
-
Administración de los nodos infrautilizados
-
Corrección de las cargas de trabajo abandonadas
-
Toma de medidas basadas en las recomendaciones
-
Actualización de los nodos autoadministrados
Implementación de Kubecost en el entorno
El taller Finhack de Amazon EKS
Para implementar Kubecost en su clúster de Amazon EKS con Helm
Obtención de un desglose detallado de los costos de las aplicaciones de Windows
Si bien puede conseguir importantes ahorros de costes mediante el uso de Amazon EC2 Spot Instances
Para obtener un desglose detallado de los costos de sus aplicaciones de Windows, inicie sesión en Kubecost
Dimensionamiento correcto de los nodos del clúster
En Kubecost
Imagine que Kubecost indica que el clúster está sobreaprovisionado tanto en términos de vCPU como de RAM. En la tabla siguiente, se muestran los detalles y recomendaciones de Kubecost.
| Actuales | Recomendación: simple | Recomendación: compleja | |
|---|---|---|---|
| Recuento total | 3462,57 USD al mes | 137,24 USD al mes | 303,68 USD al mes |
| Recuentos de nodos | 4 | 5 | 4 |
| CPU | 74 VCPUs | 10 VCPUs | 8 VCPUs |
| RAM | 152 GB | 20 GB | 18 GB |
| Desglose de instancias | 2 c5.xlarge + 2 más | 5 t3a.medium | 2 c5n.large + 1 más |
Como se describe en la publicación del blog de Kubecost, Find an optimal set of nodes for a Kubernetes cluster
Si utiliza nodos de Windows autoadministrados que no se crearon con eksctl
Dimensionamiento correcto de las solicitudes de contenedor
En Kubecost
Supongamos que Kubecost calculó que algunos de sus pods están sobreaprovisionados en términos de CPU y RAM (memoria). A continuación, Kubecost recomienda que defina nuevos valores de CPU y RAM para conseguir el ahorro mensual previsto. Para cambiar los valores de CPU y RAM, debe actualizar el archivo de manifiesto de la implementación
Administración de los nodos infrautilizados
En Kubecost
Imagine que la página muestra que un nodo del clúster está infrautilizado en términos de CPU y RAM (memoria) y, por lo tanto, puede vaciarse y terminarse o redimensionarse. Si elige los nodos que no pasan las comprobaciones de nodos y pods, obtendrá más información sobre los motivos por los que no se pueden vaciar.
Corrección de las cargas de trabajo abandonadas
En Kubecost
Tras considerar detenidamente el abandono de uno o más pods, puede ahorrar costos reduciendo el número de réplicas, eliminando la implementación, redimensionándola para que consuma menos recursos o notificando al propietario de la aplicación que cree que la implementación está abandonada.
Toma de medidas basadas en las recomendaciones
En la sección sobre el Dimensionamiento correcto de los nodos del clúster, Kubecost analiza el uso de los nodos de trabajo del clúster y hace recomendaciones sobre el tamaño correcto de los nodos para reducir los costos. Hay dos tipos de grupos de nodos que se pueden usar con Amazon EKS: autoadministrados y administrados.
Actualización de los nodos autoadministrados
Para obtener información sobre la actualización de los nodos autoadministrados, consulte Actualización de los nodos autoadministrados para un clúster en la documentación de Amazon EKS. Indica que los grupos de nodos creados con eksctl no se pueden actualizar y deben migrarse a un nuevo grupo de nodos con la nueva configuración.
Por ejemplo, supongamos que tiene un grupo de nodos de Windows llamado ng-windows-m5-2xlarge (que usa una EC2 instancia m5.2xlarge) y quiere migrar los pods a un nuevo grupo de nodos llamado ng-windows-t3-large (que está respaldado por una EC2 instancia t3.large para ahorrar costes).
Para migrar a un nuevo grupo de nodos cuando utilice grupos de nodos implementados por eksctl, haga lo siguiente:
-
Para buscar el nodo en el que se encuentra actualmente el pod, use el comando
kubectl describe pod <pod_name> -n <namespace>. -
Ejecute el comando
kubectl describe node <node_name>. El resultado muestra que el nodo está en marcha en una instancia m5.2xlarge. También coincide con el nombre del grupo de nodos (ng-windows-m5-2xlarge). -
Para cambiar la implementación para usar el grupo de nodos
ng-windows-t3-large, elimine el grupo de nodosng-windows-m5-2xlargey ponga en marchakubectl describe svc,deploy,pod -n windows. La implementación comienza a reimplementarse inmediatamente cuando se elimina su grupo de nodos.nota
El servicio se interrumpirá cuando elimine el grupo de nodos.
-
Use el comando
kubectl describe svc,deploy,pod -n windowsnuevamente al cabo de unos minutos. El resultado muestra que todos los pods vuelven a tener el estado En ejecución. -
Para mostrar que los pods están en marcha ahora en el grupo de nodos
ng-windows-t3-large, vuelva a usar los comandoskubectl describe pod <pod_name> -n <namespace>ykubectl describe node <node_name>.
Métodos de redimensionamiento alternativos
Este método se aplica a cualquier combinación de grupos de nodos autoadministrados o administrados. La publicación del blog Seamlessly migrate workloads from EKS self-managed node group to EKS-managed node groups
Siguientes pasos
Kubecost facilita la visualización del costo de sus entornos de Amazon EKS. La profunda integración de Kubecost con Kubernetes puede ayudarte a encontrar posibles ahorros de costes. AWS APIs Puedes ver esta información como recomendaciones en el panel Ahorro de Kubecost. Kubecost también puede implementar algunas de estas recomendaciones a con su característica de controlador de clústeres
Le recomendamos que revise la step-by-step implementación en la entrada del blog Containers AWS y Kubecost colabore para ofrecer un seguimiento de los costes a los clientes de EKS
Recursos adicionales
-
Amazon EKS Workshop
(Amazon EKS Workshop) -
AWS y Kubecost colaboran para ofrecer un seguimiento de los costes a los clientes de EKS
(blog)AWS -
Taller Amazon EKS Finhack (AWS Workshop
Studio) -
Contenedores de Windows activados AWS
(AWS Workshop Studio)