mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-06 10:43:56 +00:00
Check whether it is running locally when UseInstanceMetadata
This commit is contained in:
parent
8f8201691e
commit
717fe5d0d6
@ -31,9 +31,39 @@ import (
|
|||||||
|
|
||||||
// NodeAddresses returns the addresses of the specified instance.
|
// NodeAddresses returns the addresses of the specified instance.
|
||||||
func (az *Cloud) NodeAddresses(ctx context.Context, name types.NodeName) ([]v1.NodeAddress, error) {
|
func (az *Cloud) NodeAddresses(ctx context.Context, name types.NodeName) ([]v1.NodeAddress, error) {
|
||||||
|
addressGetter := func(nodeName types.NodeName) ([]v1.NodeAddress, error) {
|
||||||
|
ip, publicIP, err := az.GetIPForMachineWithRetry(nodeName)
|
||||||
|
if err != nil {
|
||||||
|
glog.V(2).Infof("NodeAddresses(%s) abort backoff", nodeName)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
addresses := []v1.NodeAddress{
|
||||||
|
{Type: v1.NodeInternalIP, Address: ip},
|
||||||
|
{Type: v1.NodeHostName, Address: string(name)},
|
||||||
|
}
|
||||||
|
if len(publicIP) > 0 {
|
||||||
|
addresses = append(addresses, v1.NodeAddress{
|
||||||
|
Type: v1.NodeExternalIP,
|
||||||
|
Address: publicIP,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return addresses, nil
|
||||||
|
}
|
||||||
|
|
||||||
if az.UseInstanceMetadata {
|
if az.UseInstanceMetadata {
|
||||||
|
isLocalInstance, err := az.isCurrentInstance(name)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Not local instance, get addresses from Azure ARM API.
|
||||||
|
if !isLocalInstance {
|
||||||
|
return addressGetter(name)
|
||||||
|
}
|
||||||
|
|
||||||
ipAddress := IPAddress{}
|
ipAddress := IPAddress{}
|
||||||
err := az.metadata.Object("instance/network/interface/0/ipv4/ipAddress/0", &ipAddress)
|
err = az.metadata.Object("instance/network/interface/0/ipv4/ipAddress/0", &ipAddress)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -51,16 +81,7 @@ func (az *Cloud) NodeAddresses(ctx context.Context, name types.NodeName) ([]v1.N
|
|||||||
return addresses, nil
|
return addresses, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
ip, err := az.GetIPForMachineWithRetry(name)
|
return addressGetter(name)
|
||||||
if err != nil {
|
|
||||||
glog.V(2).Infof("NodeAddresses(%s) abort backoff", name)
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return []v1.NodeAddress{
|
|
||||||
{Type: v1.NodeInternalIP, Address: ip},
|
|
||||||
{Type: v1.NodeHostName, Address: string(name)},
|
|
||||||
}, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// NodeAddressesByProviderID returns the node addresses of an instances with the specified unique providerID
|
// NodeAddressesByProviderID returns the node addresses of an instances with the specified unique providerID
|
||||||
|
Loading…
Reference in New Issue
Block a user