mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 04:33:26 +00:00
fix a bug in hostport where it flushes KUBE-MARK-MASQ chain
This commit is contained in:
parent
9d06efb2d1
commit
118ebd57aa
@ -251,14 +251,6 @@ func (h *handler) SyncHostports(natInterfaceName string, runningPods []*RunningP
|
|||||||
} else {
|
} else {
|
||||||
writeLine(natChains, utiliptables.MakeChainLine(kubeHostportsChain))
|
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.
|
// Accumulate NAT chains to keep.
|
||||||
activeNATChains := map[utiliptables.Chain]bool{} // use a map as a set
|
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...)
|
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
|
// If the request comes from the pod that is serving the hostport, then SNAT
|
||||||
args = []string{
|
args = []string{
|
||||||
"-A", string(hostportChain),
|
"-A", string(hostportChain),
|
||||||
|
Loading…
Reference in New Issue
Block a user