Los pods son las unidades desplegables más pequeñas en los clústeres de ACK y representan un factor clave en los costos. Sin embargo, sus diversas configuraciones de recursos, políticas de programación y ciclos de vida hacen que la estimación de costos sea compleja. ACK proporciona un modelo general de datos de costos y un método de cálculo para medir con precisión los costos del clúster y asignarlos a las unidades de negocio.
Conceptos clave
A continuación se describen los conceptos clave de este tema:
|
Concepto |
Descripción |
|
Costo total del clúster |
El costo total necesario para ejecutar un clúster de ACK. |
|
Costo de activos del clúster |
La suma de las facturas de todos los recursos en la nube dentro de un clúster. |
|
Costo indirecto del clúster |
Los cargos adicionales o gastos indirectos necesarios para gestionar un clúster de ACK, como las tarifas de administración del clúster. |
|
Costo asignado del clúster |
La parte del costo de activos del clúster que se asigna proporcionalmente al espacio asignado en el clúster. |
|
Costo inactivo del clúster |
La parte del costo de activos del clúster que se asigna proporcionalmente al espacio no asignado en el clúster. |
|
Costo asignado del pod |
El monto del costo de activos del clúster que se asigna a un pod durante un periodo específico. |
El costo total de un clúster de ACK incluye el costo de activos del clúster y el costo indirecto del clúster:
Total cluster cost = Cluster asset cost + Indirect cluster cost
El costo de activos del clúster puede dividirse a su vez en el costo asignado del clúster y el costo inactivo del clúster:
Cluster asset cost = Allocated cluster cost + Idle cluster cost
El costo asignado del clúster se determina mediante la asignación de costos de los pods. Corresponde a la suma de los costos asignados a todos los pods del clúster y representa la porción del costo de activos del clúster que ya ha sido asignada:
Allocated cluster cost = Σ (Allocated cost of each pod in the cluster)
La siguiente figura ilustra esta relación:
Modelo de datos de costos
Costo de activos del clúster
Un clúster de ACK suele contener recursos básicos en la nube, como nodos, balanceadores de carga y discos. También puede incluir recursos opcionales, como Prometheus y puertas de enlace NAT. El costo de activos del clúster es la suma de las facturas de todos los recursos en la nube asociados al clúster.
Recursos en la nube creados automáticamente por el clúster: En un clúster de ACK, utilice la etiqueta de ID único del clúster (
ack.aliyun.com:<cluster-ID>) para separar todas las facturas de los recursos en la nube asociados al clúster. La suma de estas facturas constituye el costo de activos del clúster.Recursos en la nube no creados automáticamente por el clúster: Agregue manualmente la etiqueta de recurso con el ID del clúster a estos recursos para incluirlos en el cálculo del costo de activos del clúster.
Costo asignado del pod
Fórmula de cálculo
Por lo general, los pods no se facturan directamente. Para agregar con precisión las facturas de negocio en las distintas dimensiones del clúster, debe calcular el costo asignado de cada pod de forma proporcional al costo de activos del clúster. Por lo tanto, la clave para calcular el costo asignado del pod consiste en determinar el porcentaje de costo del pod dentro del clúster.
Allocated pod cost = Pod cost percentage * Cluster asset cost
El porcentaje de costo del pod es la relación entre el costo simulado del pod y el costo total por asignar.
Pod cost percentage = Simulated pod cost / Total cost to be allocated
El costo simulado del pod se determina mediante el precio unitario simulado del pod y la duración. Para calcular el precio unitario simulado del pod, debe considerar la cantidad asignada de cada recurso en el pod (como CPU, memoria y GPU) y el precio unitario de cada recurso.
Simulated pod cost = Simulated pod unit price * Duration
Simulated pod unit price = Σ (Resource unit price * Amount of allocated resource)
El precio unitario del recurso es el factor clave que determina el costo del pod. Se pueden utilizar distintos métodos de fijación de precios según el escenario. Obtenga el precio unitario directamente de su proveedor de servicios en la nube (precio unitario de recurso conocido) o defina un precio unitario de recurso personalizado (precio unitario de recurso desconocido) para la contabilidad interna de costos.
Ejemplo 1: Precio unitario de recursos de cómputo conocido
Por ejemplo, en un escenario común donde los costos de los pods se estiman con base en los recursos de cómputo, utilice las siguientes fórmulas para asignar los costos de los pods:
Pod cost percentage = Simulated pod cost / Σ (Cost of each node in the cluster)
Simulated pod cost = (CPU unit price * Allocated CPU + Memory unit price * Allocated memory + GPU unit price * Allocated GPU) * Duration
Ejemplo 2: Precio unitario de recursos de cómputo desconocido
En escenarios donde no se proporciona directamente el precio unitario de los recursos de cómputo, como cuando Alibaba Cloud ECS solo ofrece el precio total del nodo, debe utilizar un modelo de asignación ponderada para el cálculo. Este método brinda mayor flexibilidad para personalizar el modelo. En este caso, el peso del recurso es el factor clave que determina su valor.
Unit price of a pod's compute resource = Resource weight * Node unit price / Total resources of the node
Σ (Resource weight) = 1
De manera predeterminada, ACK utiliza el nivel de saturación de programación de recursos para determinar qué tan "costoso" resulta un recurso dentro del clúster. Esto significa que el peso recomendado de un recurso se define por la proporción de su nivel de saturación de programación. También es posible personalizar el valor del peso según sus necesidades específicas.
Costos de namespaces y aplicaciones
Una vez calculado el costo asignado del pod como se describe en las secciones anteriores, agregue los costos asignados de los pods para calcular los costos de los namespaces y las aplicaciones (workloads).
Un namespace es una agrupación de pods que comparten el mismo campo.
Namespace cost = Σ (Allocated cost of each pod in the namespace)
Un workload es una agrupación de pods que tienen la misma etiqueta dentro de un namespace.
Workload cost = Σ (Allocated cost of pods with the same label)
Referencias
Obtenga datos de análisis de costos mediante la API para desarrollo personalizado. Consulte Call an API to query cost data.
Estime los costos de los pods con base en la utilización de recursos del clúster mediante modelos de recurso único (CPU o memoria) o ponderados (CPU y memoria). Para obtener más información, consulte Cost estimation policies.