latestOpenAPI 3.0.02026-08-2045003.8 MB

72813baf8d47

Elastigroup Azure Spot VMs

Create Elastigroup

Create a new Elastigroup cluster.

post/azure/compute/group

Parameters

#/paths/~1azure~1costs/get/parameters/0 — unresolved $ref

Request body

Example request

{
  "group": {
    "id": "sig-123456789",
    "name": "spotinst-group",
    "description": "This is my example elastigroup",
    "region": "eastus",
    "resourceGroupName": "spotinst-azure",
    "capacity": {
      "target": 8,
      "minimum": 2,
      "maximum": 10
    },
    "scaling": {
      "up": {
        "source": "azureMonitor",
        "policyName": "cpuScale",
        "metricName": "Percentage CPU",
        "statistic": "average",
        "unit": "Count",
        "threshold": 0.75,
        "period": 60,
        "evaluationPeriods": 3,
        "cooldown": 300,
        "namespace": "Microsoft.Network/applicationGateways",
        "operator": "gte",
        "action": {
          "type": "updateCapacity",
          "target": 1,
          "minimum": 1,
          "maximum": 1
        },
        "dimensions": [
          {
            "name": "resourceName",
            "value": "testApplicationGateway"
          },
          {
            "name": "resourceGroupName",
            "value": "testResourceGroup"
          }
        ]
      },
      "down": {
        "source": "azureMonitor",
        "policyName": "cpuScale",
        "metricName": "Percentage CPU",
        "statistic": "average",
        "unit": "Count",
        "threshold": 0.75,
        "period": 60,
        "evaluationPeriods": 3,
        "cooldown": 300,
        "namespace": "Microsoft.Network/applicationGateways",
        "operator": "gte",
        "action": {
          "type": "updateCapacity",
          "target": 1,
          "minimum": 1,
          "maximum": 1
        },
        "dimensions": [
          {
            "name": "resourceName",
            "value": "testApplicationGateway"
          },
          {
            "name": "resourceGroupName",
            "value": "testResourceGroup"
          }
        ]
      }
    },
    "strategy": {
      "shouldUtilizeCommitments": true,
      "spotPercentage": 100,
      "onDemandCount": 3,
      "signals": [
        {
          "timeout": 50,
          "type": "vmReady"
        }
      ],
      "availabilityVsCost": 100,
      "capacityReservation": {
        "shouldUtilize": true,
        "utilizationStrategy": "utilizeOverSpot",
        "capacityReservationGroups": [
          {
            "name": "capacityReservationGroupName",
            "resourceGroupName": "resourceGroupName",
            "shouldPrioritize": true
          }
        ]
      },
      "fallbackToOd": true
    },
    "health": {
      "healthCheckTypes": [
        "vmState"
      ],
      "gracePeriod": 300,
      "unhealthyDuration": 360
    },
    "compute": {
      "vmSizes": {
        "odSizes": [
          "standard_b1s"
        ],
        "spotSizes": [
          "standard_a1_v2"
        ],
        "preferredSpotSizes": [
          "standard_a2_v2"
        ],
        "spotSizeAttributes": {
          "minCpu": 2,
          "maxCpu": 8,
          "minStorage": 5,
          "maxStorage": 50,
          "minMemory": 2,
          "maxMemory": 2
        },
        "excludedVmSizes": [
          "standard_a2_v2",
          "standard_d2s_v3"
        ]
      },
      "os": "Linux",
      "launchSpecification": {
        "image": {
          "marketplace": {
            "publisher": "OpenLogic",
            "offer": "CentOS",
            "sku": "7.3",
            "version": "7.3-1611"
          },
          "custom": {
            "resourceGroupName": "spotinst-azure",
            "name": "custom-image-name"
          },
          "gallery": {
            "resourceGroupName": "spotinst-azure",
            "galleryName": "gallery-name",
            "imageName": "gallery-image-name",
            "version": "0.0.1",
            "spotAccountId": "act-123456789"
          }
        },
        "loadBalancersConfig": {
          "loadBalancers": [
            {
              "type": "loadBalancer",
              "resourceGroupName": "testResourceGroup",
              "name": "testLoadBalancer",
              "sku": "Standard",
              "backendPoolNames": [
                "testBackendPool1",
                "testBackendPool2"
              ]
            }
          ]
        },
        "managedServiceIdentities": [
          {
            "resourceGroupName": "Resourse Group 1",
            "name": "Test"
          }
        ],
        "shutdownScript": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=",
        "tags": [
          {
            "tagKey": "env",
            "tagValue": "staging"
          }
        ],
        "network": {
          "resourceGroupName": "subnetResourceGroup",
          "virtualNetworkName": "vname",
          "networkInterfaces": [
            {
              "isPrimary": true,
              "subnetName": "testSubnet",
              "assignPublicIp": true,
              "publicIpSku": "STANDARD",
              "securityGroup": {
                "name": "test",
                "resourceGroupName": "test"
              },
              "publicIps": [
                {
                  "resourceGroupName": "resourceGroup",
                  "name": "name"
                }
              ],
              "enableIPForwarding": true,
              "additionalIpConfigurations": [
                {
                  "name": "test"
                }
              ],
              "applicationSecurityGroups": [
                {
                  "resourceGroupName": "AsgResourceGroup",
                  "name": "AsgName"
                }
              ]
            }
          ]
        },
        "extensions": [
          {
            "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
            "protectedSettingsFromKeyVault": {
              "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
              "secretUrl": "https://testKeyVault.vault.azure.net/secrets/SecretTest/123456"
            },
            "publisher": "Microsoft.AKS",
            "type": "Compute.AKS-Engine.Linux.Billing",
            "minorVersionAutoUpgrade": true
          }
        ],
        "dataDisks": [
          {
            "type": "Standard_LRS",
            "lun": 6,
            "sizeGB": 10
          }
        ],
        "osDisk": {
          "type": "Standard_LRS",
          "size": 6
        },
        "vmNamePrefix": "prefix",
        "licenseType": "Windows_Server",
        "customData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=",
        "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
        "login": {
          "userName": "spotinst"
        },
        "bootDiagnostics": {
          "isEnabled": true,
          "type": "unmanaged",
          "storageUri": "https://example.blob.core.windows.net/"
        },
        "security": {
          "securityType": "TrustedLaunch",
          "secureBootEnabled": true,
          "vTpmEnabled": true,
          "encryptionAtHost": true
        },
        "proximityPlacementGroups": [
          {
            "name": "testPPG",
            "resourceGroupName": "testResourceGroup"
          }
        ]
      },
      "zones": [
        "1"
      ],
      "preferredZones": [
        "1"
      ]
    },
    "scheduling": {
      "tasks": [
        {
          "cronExpression": "0 1 * * *"
        }
      ]
    },
    "integrations": {
      "azureDns": {
        "dnsZones": [
          {
            "type": "public",
            "resourceGroup": "myResourceGroup",
            "name": "myDnsName",
            "recordSets": [
              {
                "name": "myRecordSet"
              }
            ]
          }
        ]
      },
      "insights": {
        "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
      }
    }
  }
}