Adding initial EndpointSlice metrics.

This commit is contained in:
Rob Scott
2019-09-12 17:05:34 -07:00
parent cd274ff270
commit 724b142f07
13 changed files with 657 additions and 56 deletions

View File

@@ -39,6 +39,7 @@ import (
"k8s.io/component-base/metrics/prometheus/ratelimiter"
"k8s.io/klog"
"k8s.io/kubernetes/pkg/controller"
endpointslicemetrics "k8s.io/kubernetes/pkg/controller/endpointslice/metrics"
endpointutil "k8s.io/kubernetes/pkg/controller/util/endpoint"
)
@@ -72,6 +73,8 @@ func NewController(podInformer coreinformers.PodInformer,
ratelimiter.RegisterMetricAndTrackRateLimiterUsage("endpoint_slice_controller", client.DiscoveryV1alpha1().RESTClient().GetRateLimiter())
}
endpointslicemetrics.RegisterMetrics()
c := &Controller{
client: client,
queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "endpoint_slice"),
@@ -108,6 +111,7 @@ func NewController(podInformer coreinformers.PodInformer,
client: c.client,
nodeLister: c.nodeLister,
maxEndpointsPerSlice: c.maxEndpointsPerSlice,
metricsCache: endpointslicemetrics.NewCache(maxEndpointsPerSlice),
}
c.triggerTimeTracker = endpointutil.NewTriggerTimeTracker()
@@ -251,6 +255,7 @@ func (c *Controller) syncService(key string) error {
if err != nil {
if apierrors.IsNotFound(err) {
c.triggerTimeTracker.DeleteService(namespace, name)
c.reconciler.deleteService(namespace, name)
// The service has been deleted, return nil so that it won't be retried.
return nil
}