Skip to main content

Azure VM Scale Sets

Basic C# example of an Azure VM Scale Sets accessible over balanced HTTP endpoint.

This example lives in the pulumi/examples repository. Check out just this directory to use it:

Get started with this example
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examples
git -C pulumi-examples sparse-checkout set classic-azure-cs-vm-scaleset
cd pulumi-examples/classic-azure-cs-vm-scaleset

This example deploys Scale Set of Linux web servers with autoscaling and starts a HTTP server on it. A Load Balancer is connected in order to balance among VMs.

Deploying the App#

To deploy your infrastructure, follow the below steps.

Prerequisites#

  1. Install Pulumi
  2. Install .NET Core 3.0+

Steps#

  1. Login to Azure CLI (you will be prompted to do this during deployment if you forget this step):

    Terminal window
    az login
  2. Set an appropriate Azure location like:

    Terminal window
    pulumi config set azure:location westus
    pulumi config set azure:subscriptionId <YOUR_SUBSCRIPTION_ID>
  3. Run pulumi up to preview and deploy changes:

    Terminal window
    pulumi up
    Previewing changes:
    ...
    Performing changes:
    ...
    7 resources created
  4. Get the IP address of the newly-created instance from the stack’s outputs:

    Terminal window
    pulumi stack output IpAddress
    137.117.15.111
  5. Check to see that your server is now running:

    Terminal window
    curl http://$(pulumi stack output IpAddress)
    Hello, World By <HOSTNAME>!
  6. From there, feel free to experiment. Simply making edits and running pulumi up will incrementally update your stack.

  7. Once you’ve finished experimenting, tear down your stack’s resources by destroying and removing it:

    Terminal window
    pulumi destroy --yes
    pulumi stack rm --yes

Related

The infrastructure as code platform for any cloud.