From 67f4be87c0d3bd7d2fad4a51a0716eec336f929f Mon Sep 17 00:00:00 2001 From: liangwei Date: Wed, 15 Aug 2018 16:04:29 +0800 Subject: [PATCH] fix kubelet iptclient in ipv6 cluster --- pkg/kubelet/kubelet.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index beb26080cdc..8fcb204bd4f 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -473,6 +473,11 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration, } httpClient := &http.Client{} parsedNodeIP := net.ParseIP(nodeIP) + protocol := utilipt.ProtocolIpv4 + if parsedNodeIP != nil && parsedNodeIP.To4() == nil { + glog.V(0).Infof("IPv6 node IP (%s), assume IPv6 operation", nodeIP) + protocol = utilipt.ProtocolIpv6 + } klet := &Kubelet{ hostname: hostname, @@ -515,7 +520,7 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration, nodeIPValidator: validateNodeIP, clock: clock.RealClock{}, enableControllerAttachDetach: kubeCfg.EnableControllerAttachDetach, - iptClient: utilipt.New(utilexec.New(), utildbus.New(), utilipt.ProtocolIpv4), + iptClient: utilipt.New(utilexec.New(), utildbus.New(), protocol), makeIPTablesUtilChains: kubeCfg.MakeIPTablesUtilChains, iptablesMasqueradeBit: int(kubeCfg.IPTablesMasqueradeBit), iptablesDropBit: int(kubeCfg.IPTablesDropBit),