Si crea un pod de Elastic Container Instance mediante la especificación del número de vCPU y el tamaño de memoria, es posible que requiera tipos de instancia de Elastic Compute Service (ECS) específicos. Por ejemplo, si desea utilizar únicamente familias de instancias ECS de sexta generación, como g6 o c6, para crear el pod. En este caso, puede agregar la anotación k8s.aliyun.com/eci-instance-generation para especificar la generación deseada de familias de instancias ECS. Este tema describe cómo especificar o excluir generaciones específicas de familias de instancias ECS al crear un pod.
Descripción de la función
Cuando crea un pod de Elastic Container Instance mediante la especificación del número de vCPU y el tamaño de memoria, el sistema utiliza diversos tipos de instancias ECS para respaldar la creación y selecciona automáticamente los tipos de instancia que cumplen con los requisitos de vCPU y memoria, y que cuentan con recursos suficientes. En este caso, puede agregar la anotación k8s.aliyun.com/eci-instance-generation para especificar o excluir generaciones específicas de familias de instancias ECS.
Si especifica generaciones concretas de familias de instancias ECS, el sistema selecciona tipos de instancias ECS únicamente de las generaciones especificadas. Si los recursos de dichas generaciones son insuficientes, el sistema no crea el pod.
Si excluye generaciones concretas de familias de instancias ECS, el sistema selecciona tipos de instancias ECS de otras generaciones compatibles con Elastic Container Instance para crear el pod.
A continuación se describen las generaciones de familias de instancias ECS que puede especificar o excluir al crear pods, así como las familias de instancias ECS correspondientes a cada generación.
Arquitectura | Generación de familias de instancias ECS | Familia de instancias ECS |
Arm | 8 | g8y, c8y y r8y |
|
x86 |
8 |
g8i, c8i, r8i, hfg8i, hfc8i y hfr8i |
7 | g7, c7, r7, hfg7, hfc7, hfr7 y g7ne | |
6 |
g6e, g6, c6e, c6, r6e, r6, hfc6, hfg6 |
|
5 | u1, g5, g5ne, c5, r5, ic5, hfc5 y hfg5 | |
4 | sn2ne, sn1ne, se1ne y se1 |
Para obtener más información sobre los tipos de instancias ECS, consulte los siguientes temas:
Precauciones
-
Los pods creados con base en generaciones específicas de familias de instancias ECS se facturan según el tipo de instancia ECS utilizado realmente. La facturación no se basa en el número de vCPU ni en el tamaño de memoria especificados.
ImportanteUna vez creado el pod, ejecute el comando
kubectl describe podpara consultar los detalles YAML del pod. El valor del campok8s.aliyun.com/eci-instance-specindica el tipo de instancia ECS que utiliza el pod. La facturación del pod se basa en dicho tipo de instancia ECS. Al especificar o excluir generaciones concretas de familias de instancias ECS, el sistema no puede seleccionar automáticamente tipos de instancia específicos, incluidos los tipos acelerados por GPU (como los de la familia gn6i) y los tipos con discos locales (como los de la familia i2g). Si desea crear un pod con tipos de instancias ECS específicos, especifíquelos directamente. Para obtener más información, consulte Specify ECS instance types to create pods.
Puede especificar o excluir generaciones concretas de familias de instancias ECS para crear elastic container instances preemptibles. En este escenario, el sistema selecciona el tipo de instancia ECS más adecuado según el precio de mercado y el orden de las generaciones de familias de instancias ECS que haya configurado. Si tiene requisitos estrictos respecto a las generaciones, se recomienda especificar únicamente una generación.
La función para especificar o excluir generaciones concretas de familias de instancias ECS solo surte efecto cuando se crean pods mediante la especificación del número de vCPU y el tamaño de memoria. Si especifica primero los tipos de instancias ECS al crear los pods, esta función no tendrá efecto.
Descripción de la configuración
Los valores válidos de k8s.aliyun.com/eci-instance-generation corresponden a las generaciones de familias de instancias ECS. Tenga en cuenta los siguientes puntos:
-
Puede configurar varias generaciones. Los valores válidos son las generaciones de las familias de instancias ECS que pueden utilizarse para crear pods.
ImportanteLas familias de instancias ECS de octava generación solo admiten la arquitectura Arm. Para crear un pod con familias de instancias ECS de octava generación, debe especificar el campo nodeSelector para programar el pod en un nodo virtual basado en Arm. No es posible combinar las familias de instancias ECS de octava generación con aquellas que utilizan la arquitectura x86. Al crear pods basados en Arm, no es necesario especificar ni excluir generaciones concretas de familias de instancias ECS; por ejemplo, no necesita excluir las familias de octava generación. Para obtener más información, consulte Schedule pods to an Arm-based virtual node y ECS instance types of the Arm architecture.
-
Si antepone un signo menos (
-) a una generación de familias de instancias ECS, dicha generación queda excluida.Por ejemplo,
k8s.aliyun.com/eci-instance-generation: "-5,-4"indica que se excluyen las familias de instancias ECS de quinta y cuarta generación, y que se utilizan las de séptima o sexta generación. -
El sistema selecciona las generaciones especificadas siguiendo el orden en que se definieron.
Por ejemplo, la anotación
k8s.aliyun.com/eci-instance-generation: "6,5"indica que el sistema utiliza preferentemente familias de instancias ECS de sexta generación. Si los recursos de estas familias que cumplen con las especificaciones requeridas de vCPU y memoria son insuficientes, se recurre a las familias de quinta generación. Si los recursos de las familias de quinta generación también resultan insuficientes, no se crea ningún pod.
Antes de utilizar la anotación k8s.aliyun.com/eci-instance-generation, debe especificar el número de vCPU y el tamaño de memoria mediante uno de los siguientes métodos:
Especifique el parámetro limits o requests de los contenedores. Se recomienda utilizar el parámetro limits.
Agregue la anotación
k8s.aliyun.com/eci-use-specsa los metadatos del pod.