Skip to content

Commit

Permalink
fix(kube-peers): Add support for ExternalIP addresses
Browse files Browse the repository at this point in the history
Why:
* In some environments Nodes have an ExternalIP but no InternalIP

This change addresses the need by:
* Falling back to ExternalIP addresses if there isn't an InternalIP for a node
  • Loading branch information
mikebryant committed Apr 27, 2017
1 parent f517a09 commit aeb7ea2
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion prog/kube-peers/main.go
Expand Up @@ -35,11 +35,21 @@ func getKubePeers() ([]string, error) {
}
addresses := make([]string, 0, len(nodeList.Items))
for _, peer := range nodeList.Items {
var internalIP, externalIP string
for _, addr := range peer.Status.Addresses {
if addr.Type == "InternalIP" {
addresses = append(addresses, addr.Address)
internalIP = addr.Address
} else if addr.Type == "ExternalIP" {
externalIP = addr.Address
}
}

// Fallback for cases where a Node has an ExternalIP but no InternalIP
if internalIP != "" {
addresses = append(addresses, internalIP)
} else if externalIP != "" {
addresses = append(addresses, externalIP)
}
}
return addresses, nil
}
Expand Down

0 comments on commit aeb7ea2

Please sign in to comment.