This article provides a step-by-step guide to resolve the failed to parse addresses from auto-join metadata: discover-azure: no interfaces
that appears when using cloud auto-join in an Azure Virtual Machine Scale Set (VMSS).
Introduction
Problem
When using cloud auto-join with an Azure VMSS, an error failed to parse addresses from auto-join metadata: discover-azure: no interfaces
may occur even after configuring the right auto-join parameters and permissions.
Cause
This error occurs in Azure VM scale sets with flexible orchestration. Scale sets with flexible orchestration do not work with the az vmss
commands. Flexible is the default orchestration mode and the endpoint to list NICs for a VMSS in flexible mode is different from uniform mode.
Note that the orchestration mode is defined when the VMSS is created. This mode cannot be modified once the scale set has been deployed.
Overview of Possible Solutions
Solutions:
-
Redeploy the Azure VM scale set with uniform orchestration
- Configure
auto_join
values
- Configure
auto_join = "provider=azure subscription_id=<SUBSCRIPTION_ID> resource_group=<RESOURCE_GROUP_NAME> vm_scale_set=<VM_SCALE_SET_NAME>"
-
- Set Azure credentials (secret_access_key & client_id) in the
auto_join
config or as environment variables
- Set Azure credentials (secret_access_key & client_id) in the
Outcome
Once the new Azure VMSS in uniform orchestration mode has been deployed and the auto-join values and permissions have been configured, new nodes will automatically join the cluster using the go-discover syntax.
Additional Information
-
https://developer.hashicorp.com/vault/tutorials/day-one-raft/raft-deployment-guide
- https://developer.hashicorp.com/consul/docs/install/cloud-auto-join#microsoft-azure
- https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-orchestration-modes
- https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/linux_virtual_machine_scale_set
- https://azure.microsoft.com/en-us/updates/breaking-change-notice-vmss-create-default-orchestration-mode-changing-from-uniform-to-flexible-on-powershell-azure-cli/