Azure Cloud Provider


To enable the Azure cloud provider, besides setting the name as azure, there are specific configuration options that must be set. Additionally, the Azure node name must also match the Kubernetes node name.

  1. cloud_provider:
  2. name: azure
  3. azureCloudProvider:
  4. aadClientId: xxxxxxxxx
  5. aadClientSecret: xxxxxxxxx
  6. location: xxxxxxxxx
  7. resourceGroup: xxxxxxxxx
  8. subnetName: xxxxxxxxx
  9. subscriptionId: xxxxxxxxx
  10. vnetName: xxxxxxxxx
  11. tenantId: xxxxxxxxx
  12. securityGroupName: xxxxxxxxx

Overriding the hostname

Since the Azure node name must match the Kubernetes node name, you override the Kubernetes name on the node by setting the hostname_override for each node. If you do not set the hostname_override, the Kubernetes node name will be set as the address, which will cause the Azure cloud provider to fail.

  1. nodes:
  2. - address: x.x.x.x
  3. hostname_override: azure-rke1
  4. user: ubuntu
  5. role:
  6. - controlplane
  7. - etcd
  8. - worker

Azure Configuration Options

Besides the minimum set of options, there are many other options that are supported in RKE:

Azure Configuration OptionsTypeRequired
tenantIdstring
subscriptionIdstring
aadClientIdstring
aadClientSecretstring
cloudstring
resourceGroupstring
locationstring
vnetNamestring
vnetResourceGroupstring
subnetNamestring
securityGroupNamestring
routeTableNamestring
primaryAvailabilitySetNamestring
vmTypestring
primaryScaleSetNamestring
aadClientCertPathstring
aadClientCertPasswordstring
cloudProviderBackoffbool
cloudProviderBackoffRetriesint
cloudProviderBackoffExponentint
cloudProviderBackoffDurationint
cloudProviderBackoffJitterint
cloudProviderRateLimitbool
cloudProviderRateLimitQPSint
cloudProviderRateLimitBucketint
useInstanceMetadatabool
useManagedIdentityExtensionbool
maximumLoadBalancerRuleCountint