We recommend using Azure Native.
Azure v6.21.0 published on Friday, Mar 7, 2025 by Pulumi
Azure VM Scale Sets
This example provisions a Scale Set of Linux web servers with nginx deployed, configured the auto-scaling based on CPU load, puts a Load Balancer in front of them, and gives it a public IP address.
Prerequisites
- Node.js
- Download and install the Pulumi CLI
- Connect Pulumi with your Azure account (if your azCLI is configured, no further changes are required)
Running the App
- Create a new stack: - pulumi stack init dev
- Configure the app deployment. - pulumi config set azure:location westus # any valid Azure region will do pulumi config set azure:subscriptionId <YOUR_SUBSCRIPTION_ID>- Optionally, configure the username and password for the admin user. Otherwise, they will be auto-generated. - pulumi config set adminUser webmaster pulumi config set adminPassword <your-password> --secret- Note that - --secretensures your password is encrypted safely.
- Login to Azure CLI (you will be prompted to do this during deployment if you forget this step): - az login
- Restore NPM dependencies: - npm install
- Run - pulumi upto preview and deploy changes:- $ pulumi up Previewing update: ... Updating: ... Resources: 13 created Update duration: 2m19s
- Check the domain name of the PIP: - $ pulumi stack output publicAddress dsuv3vqbgi.westeurope.cloudapp.azure.com $ curl http://$(pulumi stack output publicAddress) #nginx welcome screen HTML is returned