diff --git a/docs/azure.md b/docs/azure.md
index 3d9122b976e9d2422db171a2c27c98722840559b..3aaa27f3a772c1c8b771a1e96de3f79bc72cb385 100644
--- a/docs/azure.md
+++ b/docs/azure.md
@@ -27,6 +27,10 @@ The region your instances are located, can be something like `westeurope` or `we
 
 The name of the resource group your instances are in, can be retrieved via `azure group list`
 
+### azure\_vmtype
+
+The type of the vm. Supported values are `standard` or `vmss`. If vm is type of `Virtal Machines` then value is `standard`. If vm is part of `Virtaul Machine Scale Sets` then value is `vmss`
+
 ### azure\_vnet\_name
 
 The name of the virtual network your instances are in, can be retrieved via `azure network vnet list`
diff --git a/inventory/sample/group_vars/all/azure.yml b/inventory/sample/group_vars/all/azure.yml
index d6ddd6de7e47a9b217c96e3840f6f1958bf596bb..8b0313fdebff038ca424d474ac645e9863d2969b 100644
--- a/inventory/sample/group_vars/all/azure.yml
+++ b/inventory/sample/group_vars/all/azure.yml
@@ -12,3 +12,5 @@
 # azure_vnet_name:
 # azure_vnet_resource_group:
 # azure_route_table_name:
+# supported values are 'standard' or 'vmss'
+# azure_vmtype: standard
diff --git a/roles/kubernetes/node/defaults/main.yml b/roles/kubernetes/node/defaults/main.yml
index 5dc5a8cd38bfd89f3785e4a01e9aa364ee10649d..9ee1f23c84cb39fb5f6c112a7c878580bc04aa93 100644
--- a/roles/kubernetes/node/defaults/main.yml
+++ b/roles/kubernetes/node/defaults/main.yml
@@ -141,6 +141,8 @@ vsphere_public_network: "{{ lookup('env', 'VSPHERE_PUBLIC_NETWORK')|default('')
 # azure_security_group_name:
 # azure_vnet_name:
 # azure_route_table_name:
+# supported values are 'standard' or 'vmss'
+# azure_vmtype: standard
 # Sku of Load Balancer and Public IP. Candidate values are: basic and standard.
 azure_loadbalancer_sku: basic
 # excludes master nodes from standard load balancer.
diff --git a/roles/kubernetes/node/tasks/cloud-credentials/azure-credential-check.yml b/roles/kubernetes/node/tasks/cloud-credentials/azure-credential-check.yml
index 41373eb30c90964e7f7b12ea4d3261273f4b162d..f16a90b796235408021f7b037049d52b6a7ea488 100644
--- a/roles/kubernetes/node/tasks/cloud-credentials/azure-credential-check.yml
+++ b/roles/kubernetes/node/tasks/cloud-credentials/azure-credential-check.yml
@@ -70,3 +70,8 @@
 - name: "check azure_use_instance_metadata is a bool"
   assert:
     that: azure_use_instance_metadata |type_debug == 'bool'
+
+- name: check azure_vmtype value
+  fail:
+    msg: "azure_vmtype is missing. Supported values are 'standard' or 'vmss'"
+  when: azure_vmtype is not defined or not azure_vmtype
diff --git a/roles/kubernetes/node/templates/cloud-configs/azure-cloud-config.j2 b/roles/kubernetes/node/templates/cloud-configs/azure-cloud-config.j2
index 22377aff9a6b65319913103145c9f8d600846db5..9def9ea3b0f736bcb9dc9e9f5c98a70217bae04e 100644
--- a/roles/kubernetes/node/templates/cloud-configs/azure-cloud-config.j2
+++ b/roles/kubernetes/node/templates/cloud-configs/azure-cloud-config.j2
@@ -10,6 +10,7 @@
   "vnetName": "{{ azure_vnet_name }}",
   "vnetResourceGroup": "{{ azure_vnet_resource_group }}",
   "routeTableName": "{{ azure_route_table_name }}",
+  "vmType": "{{ azure_vmtype }}",
 {% if azure_primary_availability_set_name is defined %}
   "primaryAvailabilitySetName": "{{ azure_primary_availability_set_name }}",
 {%endif%}