Azure Virtual Machine Scale Set (VMSS) Part1 — Architecture and Deployment

  • Easy to create and manage multiple VMs
  • Provides high availability and application resiliency
  • Allows your application to automatically scale as resource demand changes
  • Works at large-scale

Architecture

Image Source: Virtual Machine Scale Set (VMSS) — MyKloud (wordpress.com)

Deployment

Network Management

az network lb inbound-nat-pool show -g MyResourceGroup --lb-name MyLb -n MyNatPool
az vmss list-instance-connection-info \
--resource-group myResourceGroup \
--name myScaleSet
psping 20.98.121.11:50000
ssh jonw@20.98.121.11 -p 50000
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group <resource group name> \
--vmss-name <scale set name> \
--settings '{"fileUris":["https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/prepare_vm_disks.sh"],"commandToExecute":"./prepare_vm_disks.sh"}'
# SSH into one of the instances
- ssh <username>@<VMSS public IP> -p <LB frontend assigned port>
# examine partitions
- sudo fdisk -l
# examine filesystems and mount points
- sudo df -h
  • Reimage: This means the instance within VMSS will be deleted and replaced by an instance created from the original assigned image.
  • Update: This is used when there is no upgrade policy.
  • Upgrade: This is used changes made on the scale set need to be applied to each instance. There are 3 different policies, automatic, manual and rolling.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Jonathan

Jonathan

Learning new things about Kubernetes every day. Hopefully, the learning notes could help people on the same journey!