[English below]
Salut,
Dans cet article, nous allons voir ensemble comment créer un cluster AKS utilisant un pool de spot instances. L’intérêt est d’utiliser des instances de type spot afin de pouvoir bénéficier de puissance de calcul non utilisé par le fournisseur de cloud et ainsi obtenir un rabais important sur le prix de cette instance.
Azure Channels | Azure Spot VMs Disponibilité |
---|---|
Enterprise Agreement | Yes |
Pay As You Go | Yes |
Cloud Service Provider (CSP) | Contact your partner |
Benefits | Not available |
Sponsored | Not available |
Free Trial | Not available |
L’objectif de cet article est de vous présenter comment créer un pool d’instances de type spot pour vos workloads AKS qui sont non critiques. Au moment où j’écris cet article, cette fonctionnalité est encore en public preview et nous n’avons pas de SLA disponible pour les instances de type spot.
# - Create a Ressource Group az group create --name aksspot --location eastus # - Create an AKS cluster az aks create --resource-group aksspot --name aksdemospot --node-vm-size Standard_A2_v2 --node-count 2 --generate-ssh-keys # - Register Spotpoolpreview az feature register --namespace "Microsoft.ContainerService" --name "spotpoolpreview" az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/spotpoolpreview')].{Name:name,State:properties.state}" # - Install the aks-preview extension az extension add --name aks-preview # - Update the extension to make sure you have the latest version installed az extension update --name aks-preview # - Add spot pool to an existing AKS Cluster az aks nodepool add \ --resource-group aksspot \ --cluster-name aksdemospot \ --name spotnodepool \ --priority Spot \ --eviction-policy Delete \ --spot-max-price -1 \ --enable-cluster-autoscaler \ --node-vm-size Standard_D2_v3 \ --min-count 1 \ --max-count 3 \ --no-wait # - Show AKS NodePool az aks nodepool show --resource-group aksspot --cluster-name aksdemospot --name spotnodepool
Dans cet exemple, vous avez pu constater que le paramètre « spot-max-price » est à « -1 ». Le prix maximal sera le prix actuel (au maximum, le prix des machines virtuelles standards).
Vous pouvez tout à fait remplacer ce paramètre directement par le prix maximum que vous souhaitez payer. Par exemple pour 0.98765, vous vous engagez à payer au maximum un prix de 0.98765$USD par heure.
Si le prix de votre machine dépasse le prix définit, votre machine virtuelle sera supprimée « –eviction-policy Delete ». Dans le cas où vous ne souhaitez pas que celle-ci soit supprimée mais désallouée, vous pouvez remplacer « –eviction-policy Delete » par « eviction-policy Deallocate ».
Maxime.
Hello,
In this article, I am explaining how you can create an AKS cluster with a pool of spot instances. The principal advantage here is to use unallocated compute ressources with a low price.
Azure Channels | Azure Spot VMs Availability |
---|---|
Enterprise Agreement | Yes |
Pay As You Go | Yes |
Cloud Service Provider (CSP) | Contact your partner |
Benefits | Not available |
Sponsored | Not available |
Free Trial | Not available |
The goal of this article is to explain how to create a spot pool for your non critical workloads. This feature is available only in preview and we don’t have SLA support at the time I am writing this article.
# - Create a Ressource Group az group create --name aksspot --location eastus # - Create an AKS cluster az aks create --resource-group aksspot --name aksdemospot --node-vm-size Standard_A2_v2 --node-count 2 --generate-ssh-keys # - Register Spotpoolpreview az feature register --namespace "Microsoft.ContainerService" --name "spotpoolpreview" az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/spotpoolpreview')].{Name:name,State:properties.state}" # - Install the aks-preview extension az extension add --name aks-preview # - Update the extension to make sure you have the latest version installed az extension update --name aks-preview # - Add spot pool to an existing AKS Cluster az aks nodepool add \ --resource-group aksspot \ --cluster-name aksdemospot \ --name spotnodepool \ --priority Spot \ --eviction-policy Delete \ --spot-max-price -1 \ --enable-cluster-autoscaler \ --node-vm-size Standard_D2_v3 \ --min-count 1 \ --max-count 3 \ --no-wait # - Show AKS NodePool az aks nodepool show --resource-group aksspot --cluster-name aksdemospot --name spotnodepool
In this example, the parameter « spot-max-price » is set to: « -1 ». The maximum price of this virtual machine will match the current price on the market.
If you want, you can replace this parameter by the maximum price you want to paid. For example, if you indicate 0.98765, in this case your maximum price will be 0.98765$USD per hour.
In the case of different prices, i.e. the maximum price is higher than the define one, your virtual machine will be deleted « –eviction-policy Delete ». If you don’t want to delete the virtual machine but only desallocate it, you can replace « –eviction-policy Delete » by « eviction-policy Deallocate ».
Maxime.