Add fallbacks for getting node IP from Azure IMDS

This commit is contained in:
Pengfei Ni 2018-09-26 13:18:10 +08:00
parent b442c25325
commit 3bca7a0136

View File

@ -87,6 +87,15 @@ func (az *Cloud) NodeAddresses(ctx context.Context, name types.NodeName) ([]v1.N
if err != nil {
return nil, err
}
// Fall back to ARM API if the address is empty string.
// TODO: this is a workaround because IMDS is not stable enough.
// It should be removed after IMDS fixing the issue.
if strings.TrimSpace(ipAddress.PrivateIP) == "" {
return addressGetter(name)
}
// Use ip address got from instance metadata.
addresses := []v1.NodeAddress{
{Type: v1.NodeInternalIP, Address: ipAddress.PrivateIP},
{Type: v1.NodeHostName, Address: string(name)},