diff --git a/docs/azure.md b/docs/azure.md index 3d9122b97..3aaa27f3a 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 d6ddd6de7..8b0313fde 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 5dc5a8cd3..9ee1f23c8 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 41373eb30..f16a90b79 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 22377aff9..9def9ea3b 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%}