diff --git a/pkg/kubelet/pleg/generic.go b/pkg/kubelet/pleg/generic.go index ef1664da8b1..c9ab5bb7689 100644 --- a/pkg/kubelet/pleg/generic.go +++ b/pkg/kubelet/pleg/generic.go @@ -325,29 +325,25 @@ func (g *GenericPLEG) relist() { func getContainersFromPods(pods ...*kubecontainer.Pod) []*kubecontainer.Container { cidSet := sets.NewString() var containers []*kubecontainer.Container + fillCidSet := func(cs []*kubecontainer.Container) { + for _, c := range cs { + cid := c.ID.ID + if cidSet.Has(cid) { + continue + } + cidSet.Insert(cid) + containers = append(containers, c) + } + } + for _, p := range pods { if p == nil { continue } - for _, c := range p.Containers { - cid := string(c.ID.ID) - if cidSet.Has(cid) { - continue - } - cidSet.Insert(cid) - containers = append(containers, c) - } + fillCidSet(p.Containers) // Update sandboxes as containers // TODO: keep track of sandboxes explicitly. - for _, c := range p.Sandboxes { - cid := string(c.ID.ID) - if cidSet.Has(cid) { - continue - } - cidSet.Insert(cid) - containers = append(containers, c) - } - + fillCidSet(p.Sandboxes) } return containers }