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.
Instancias de spot
Grupos de nodos gestionados
eksctl
admite nodos de trabajo puntual mediante grupos de nodos gestionados por EKS
Para crear un clúster con un grupo de nodos gestionado mediante instancias puntuales, pase la --spot
marca y una lista opcional de tipos de instancias:
eksctl create cluster --spot --instance-types=c3.large,c4.large,c5.large
Para crear un grupo de nodos administrado con instancias de spot en un clúster existente, sigue estos pasos:
eksctl create nodegroup --cluster=<clusterName> --spot --instance-types=c3.large,c4.large,c5.large
Para crear instancias de spot mediante grupos de nodos gestionados mediante un archivo de configuración:
# spot-cluster.yaml apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: spot-cluster region: us-west-2 managedNodeGroups: - name: spot instanceTypes: ["c3.large","c4.large","c5.large","c5d.large","c5n.large","c5a.large"] spot: true # `instanceTypes` defaults to [`m5.large`] - name: spot-2 spot: true # On-Demand instances - name: on-demand instanceTypes: ["c3.large", "c4.large", "c5.large"]
eksctl create cluster -f spot-cluster.yaml
nota
Los grupos de nodos no administrados no admiten los instanceTypes
campos spot
y, en cambio, el instancesDistribution
campo se usa para configurar las instancias de spot. Consulte a continuación
Más información
Grupos de nodos no administrados
eksctl
tiene soporte para instancias puntuales a través de los grupos MixedInstancesPolicy de Auto Scaling.
A continuación, se muestra un ejemplo de un grupo de nodos que utiliza un 50% de instancias puntuales y un 50% de instancias bajo demanda:
nodeGroups: - name: ng-1 minSize: 2 maxSize: 5 instancesDistribution: maxPrice: 0.017 instanceTypes: ["t3.small", "t3.medium"] # At least one instance type should be specified onDemandBaseCapacity: 0 onDemandPercentageAboveBaseCapacity: 50 spotInstancePools: 2
Ten en cuenta que el nodeGroups.X.instanceType
campo no debe configurarse al instancesDistribution
usarlo.
En este ejemplo se utilizan instancias de GPU:
nodeGroups: - name: ng-gpu instanceType: mixed desiredCapacity: 1 instancesDistribution: instanceTypes: - p2.xlarge - p2.8xlarge - p2.16xlarge maxPrice: 0.50
En este ejemplo, se utiliza la estrategia de asignación de puntos con capacidad optimizada:
nodeGroups: - name: ng-capacity-optimized minSize: 2 maxSize: 5 instancesDistribution: maxPrice: 0.017 instanceTypes: ["t3.small", "t3.medium"] # At least one instance type should be specified onDemandBaseCapacity: 0 onDemandPercentageAboveBaseCapacity: 50 spotAllocationStrategy: "capacity-optimized"
En este ejemplo se utiliza la estrategia de asignación capacity-optimized-prioritized puntual:
nodeGroups: - name: ng-capacity-optimized-prioritized minSize: 2 maxSize: 5 instancesDistribution: maxPrice: 0.017 instanceTypes: ["t3a.small", "t3.small"] # At least two instance types should be specified onDemandBaseCapacity: 0 onDemandPercentageAboveBaseCapacity: 0 spotAllocationStrategy: "capacity-optimized-prioritized"
Usa la estrategia de capacity-optimized-prioritized
asignación y, a continuación, establece el orden de los tipos de instancias en la lista de anulaciones de plantillas de lanzamiento, de mayor a menor prioridad (del primero al último de la lista). Amazon EC2 Auto Scaling respeta las prioridades de tipo de instancia haciendo todo lo posible, pero optimiza primero la capacidad. Esta es una buena opción para cargas de trabajo en las que se debe minimizar la posibilidad de interrupciones, pero también es importante preferir determinados tipos de instancias. Para obtener más información, consulte las opciones de compra de ASG.
Tenga en cuenta que el spotInstancePools
campo no debe configurarse al usarlo. spotAllocationStrategy
Si no spotAllocationStrategy
se especifica, EC2 se utilizará la lowest-price
estrategia de forma predeterminada.
He aquí un ejemplo mínimo:
nodeGroups: - name: ng-1 instancesDistribution: instanceTypes: ["t3.small", "t3.medium"] # At least one instance type should be specified
Para distinguir los nodos entre instancias puntuales o bajo demanda, puedes usar la etiqueta kubernetes, node-lifecycle
que tendrá el valor spot
o en on-demand
función de su tipo.
Parámetros en Instances/Distribution
Consulte el esquema de configuración del clúster para obtener más información.