@@ -17,26 +17,24 @@ limitations under the License.
1717package main
1818
1919import (
20- "k8s.io/client-go/util/workqueue"
21- "os"
22-
23- elbv2deploy "sigs.k8s.io/aws-load-balancer-controller/pkg/deploy/elbv2"
24-
2520 "github.com/go-logr/logr"
2621 "github.com/spf13/pflag"
2722 zapraw "go.uber.org/zap"
2823 k8sruntime "k8s.io/apimachinery/pkg/runtime"
2924 "k8s.io/client-go/kubernetes"
3025 clientgoscheme "k8s.io/client-go/kubernetes/scheme"
3126 _ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
27+ "k8s.io/client-go/util/workqueue"
3228 "k8s.io/klog/v2"
29+ "os"
3330 elbv2api "sigs.k8s.io/aws-load-balancer-controller/apis/elbv2/v1beta1"
3431 elbv2controller "sigs.k8s.io/aws-load-balancer-controller/controllers/elbv2"
3532 "sigs.k8s.io/aws-load-balancer-controller/controllers/ingress"
3633 "sigs.k8s.io/aws-load-balancer-controller/controllers/service"
3734 "sigs.k8s.io/aws-load-balancer-controller/pkg/aws"
3835 "sigs.k8s.io/aws-load-balancer-controller/pkg/aws/throttle"
3936 "sigs.k8s.io/aws-load-balancer-controller/pkg/config"
37+ elbv2deploy "sigs.k8s.io/aws-load-balancer-controller/pkg/deploy/elbv2"
4038 "sigs.k8s.io/aws-load-balancer-controller/pkg/inject"
4139 "sigs.k8s.io/aws-load-balancer-controller/pkg/k8s"
4240 awsmetrics "sigs.k8s.io/aws-load-balancer-controller/pkg/metrics/aws"
@@ -84,8 +82,6 @@ func main() {
8482 klog .SetLoggerWithOptions (appLogger , klog .ContextualLogger (true ))
8583
8684 var awsMetricsCollector * awsmetrics.Collector
87- lbcMetricsCollector := lbcmetrics .NewCollector (metrics .Registry )
88-
8985 if metrics .Registry != nil {
9086 awsMetricsCollector = awsmetrics .NewCollector (metrics .Registry )
9187 }
@@ -107,6 +103,17 @@ func main() {
107103 os .Exit (1 )
108104 }
109105
106+ // track the k8s resources with finalizers contains "k8s.aws"
107+ // track the aws resources with cluster tag "elbv2.k8s.aws/cluster=$ClusterName"
108+ lbcMetricsCollector := lbcmetrics .NewCollector (
109+ metrics .Registry ,
110+ mgr .GetClient (),
111+ cloud .RGT (),
112+ "k8s.aws" ,
113+ "elbv2.k8s.aws/cluster" ,
114+ controllerCFG .ClusterName ,
115+ )
116+
110117 clientSet , err := kubernetes .NewForConfig (mgr .GetConfig ())
111118 if err != nil {
112119 setupLog .Error (err , "unable to obtain clientSet" )
@@ -210,6 +217,19 @@ func main() {
210217 setupLog .Error (err , "problem running manager" )
211218 os .Exit (1 )
212219 }
220+
221+ // update of the managed resource metrics
222+ go func () {
223+ if err := lbcMetricsCollector .UpdateManagedK8sResourceMetrics (ctx ); err != nil {
224+ setupLog .Error (err , "failed to update managed Kubernetes resource metrics" )
225+ }
226+ if err := lbcMetricsCollector .UpdateManagedALBMetrics (ctx ); err != nil {
227+ setupLog .Error (err , "failed to update managed ALB metrics" )
228+ }
229+ if err := lbcMetricsCollector .UpdateManagedNLBMetrics (ctx ); err != nil {
230+ setupLog .Error (err , "failed to update managed NLB metrics" )
231+ }
232+ }()
213233}
214234
215235// loadControllerConfig loads the controller configuration.
0 commit comments