Merge pull request #2912 from weaveworks/issues/2904-filter-ipv6-kube-peers

Filter out IPv6 addresses from kube-peers
This commit is contained in:
Marc Carré authored and GitHub committed 2017-05-02 11:45:31 +01:00
commit cc77ad2c65
1 file changed
+8 -2
+8 -2
View File
@@ -3,6 +3,7 @@ package main
import (
"fmt"
"log"
"net"
"k8s.io/client-go/kubernetes"
api "k8s.io/client-go/pkg/api/v1"
@@ -37,10 +38,15 @@ func getKubePeers() ([]string, error) {
for _, peer := range nodeList.Items {
var internalIP, externalIP string
for _, addr := range peer.Status.Addresses {
// Check it's a valid ipv4 address
ip := net.ParseIP(addr.Address)
if ip == nil || ip.To4() == nil {
continue
}
if addr.Type == "InternalIP" {
internalIP = addr.Address
internalIP = ip.To4().String()
} else if addr.Type == "ExternalIP" {
externalIP = addr.Address
externalIP = ip.To4().String()
}
}