diff --git a/cmd/cloud-controller-manager/main.go b/cmd/cloud-controller-manager/main.go index 650aff0c..647cd567 100644 --- a/cmd/cloud-controller-manager/main.go +++ b/cmd/cloud-controller-manager/main.go @@ -17,6 +17,7 @@ import ( "k8s.io/cloud-provider/options" cliflag "k8s.io/component-base/cli/flag" "k8s.io/component-base/logs" + "k8s.io/component-base/metrics/legacyregistry" _ "k8s.io/component-base/metrics/prometheus/clientgo" _ "k8s.io/component-base/metrics/prometheus/version" "k8s.io/klog/v2" @@ -33,6 +34,12 @@ var ( metricsAddressFlag *string ) +func init() { + // RawMustRegister is marked as deprecated because this bypasses the metric stability framework. But we want to + // use the same metrics in different repos, so it does not make sense to only use different types in this repo. + legacyregistry.RawMustRegister(metrics.NewExporter()) +} + func main() { ccmOptions, err := options.NewCloudControllerManagerOptions() if err != nil { @@ -49,8 +56,8 @@ func main() { ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGTERM, syscall.SIGINT) defer cancel() - // setup metrics - metricsAddressFlag = additionalFlags.FlagSet("metrics").String("metrics-address", defaultMetricsAddress, "set the prometheus metrics endpoint") + // TODO: remove this later. Not removed yet because it is breaking to remove it. + metricsAddressFlag = additionalFlags.FlagSet("metrics").String("metrics-address", defaultMetricsAddress, "set the prometheus metrics endpoint. Deprecated, do not use! Use --secure-port for metrics.") command := app.NewCloudControllerManagerCommand(ccmOptions, cloudInitializer(ctx), controllerInitializers, controllerAliases, additionalFlags, wait.NeverStop) pflag.CommandLine.SetNormalizeFunc(cliflag.WordSepNormalizeFunc) diff --git a/deploy/cloud-controller-manager/deployment.yaml b/deploy/cloud-controller-manager/deployment.yaml index 879c7c1e..7de7422e 100644 --- a/deploy/cloud-controller-manager/deployment.yaml +++ b/deploy/cloud-controller-manager/deployment.yaml @@ -39,13 +39,8 @@ spec: value: /etc/serviceaccount/sa_key.json ports: - containerPort: 10258 - hostPort: 10258 name: https protocol: TCP - - containerPort: 9090 - hostPort: 9090 - name: metrics - protocol: TCP resources: limits: cpu: "0.5" diff --git a/deploy/cloud-controller-manager/service.yaml b/deploy/cloud-controller-manager/service.yaml index cadf0dff..c1e34cfc 100644 --- a/deploy/cloud-controller-manager/service.yaml +++ b/deploy/cloud-controller-manager/service.yaml @@ -9,12 +9,8 @@ spec: selector: app: stackit-cloud-controller-manager ports: - - name: main - port: 80 - targetPort: 8888 - protocol: TCP - - name: metrics - port: 8080 - targetPort: metrics + - name: https + port: 10258 + targetPort: https protocol: TCP type: ClusterIP