Merge pull request #32413 from freehan/hostportfix

Automatic merge from submit-queue

Fix a bug in kubelet hostport logic which flushes KUBE-MARK-MASQ iptables chain

Fixes #32415
pull/6/head
Kubernetes Submit Queue 2016-09-09 16:15:26 -07:00 committed by GitHub
commit e43f605759
1 changed files with 1 additions and 8 deletions

View File

@ -251,14 +251,6 @@ func (h *handler) SyncHostports(natInterfaceName string, runningPods []*RunningP
} else {
writeLine(natChains, utiliptables.MakeChainLine(kubeHostportsChain))
}
// Assuming the node is running kube-proxy in iptables mode
// Reusing kube-proxy's KubeMarkMasqChain for SNAT
// TODO: let kubelet manage KubeMarkMasqChain. Other components should just be able to use it
if chain, ok := existingNATChains[iptablesproxy.KubeMarkMasqChain]; ok {
writeLine(natChains, chain)
} else {
writeLine(natChains, utiliptables.MakeChainLine(iptablesproxy.KubeMarkMasqChain))
}
// Accumulate NAT chains to keep.
activeNATChains := map[utiliptables.Chain]bool{} // use a map as a set
@ -284,6 +276,7 @@ func (h *handler) SyncHostports(natInterfaceName string, runningPods []*RunningP
}
writeLine(natRules, args...)
// Assuming kubelet is syncing iptables KUBE-MARK-MASQ chain
// If the request comes from the pod that is serving the hostport, then SNAT
args = []string{
"-A", string(hostportChain),