diff options
-rw-r--r-- | plugin/kubernetes/controller.go | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/plugin/kubernetes/controller.go b/plugin/kubernetes/controller.go index 3cad9e6c2..89b608703 100644 --- a/plugin/kubernetes/controller.go +++ b/plugin/kubernetes/controller.go @@ -145,11 +145,17 @@ func epNameNamespaceIndexFunc(obj interface{}) ([]string, error) { } func epIPIndexFunc(obj interface{}) ([]string, error) { - ep, ok := obj.(*api.EndpointAddress) + ep, ok := obj.(*api.Endpoints) if !ok { - return nil, errors.New("obj was not an *api.EndpointAddress") + return nil, errors.New("obj was not an *api.Endpoints") + } + var idx []string + for _, eps := range ep.Subsets { + for _, addr := range eps.Addresses { + idx = append(idx, addr.IP) + } } - return []string{ep.IP}, nil + return idx, nil } func serviceListFunc(c *kubernetes.Clientset, ns string, s *labels.Selector) func(meta.ListOptions) (runtime.Object, error) { |