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%}