Skip to content

Commit

Permalink
add prometheus service monitor
Browse files Browse the repository at this point in the history
  • Loading branch information
RomanBednar committed Feb 27, 2024
1 parent 808a25e commit 7294dd0
Show file tree
Hide file tree
Showing 4 changed files with 94 additions and 0 deletions.
17 changes: 17 additions & 0 deletions assets/rbac/prometheus_role.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Role for accessing metrics exposed by the operator
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: ibm-vpc-block-csi-driver-prometheus
namespace: openshift-cluster-csi-drivers
rules:
- apiGroups:
- ""
resources:
- services
- endpoints
- pods
verbs:
- get
- list
- watch
14 changes: 14 additions & 0 deletions assets/rbac/prometheus_rolebinding.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Grant cluster-monitoring access to the operator metrics service
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: ibm-vpc-block-csi-driver-prometheus
namespace: openshift-cluster-csi-drivers
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: ibm-vpc-block-csi-driver-prometheus
subjects:
- kind: ServiceAccount
name: prometheus-k8s
namespace: openshift-monitoring
51 changes: 51 additions & 0 deletions assets/servicemonitor.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: ibm-vpc-block-csi-driver-controller-monitor
namespace: openshift-cluster-csi-drivers
spec:
endpoints:
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
interval: 30s
path: /metrics
port: provisioner-m
scheme: https
tlsConfig:
caFile: /etc/prometheus/configmaps/serving-certs-ca-bundle/service-ca.crt
serverName: ibm-vpc-block-csi-driver-controller-metrics.openshift-cluster-csi-drivers.svc
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
interval: 30s
path: /metrics
port: attacher-m
scheme: https
tlsConfig:
caFile: /etc/prometheus/configmaps/serving-certs-ca-bundle/service-ca.crt
serverName: ibm-vpc-block-csi-driver-controller-metrics.openshift-cluster-csi-drivers.svc
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
interval: 30s
path: /metrics
port: resizer-m
scheme: https
tlsConfig:
caFile: /etc/prometheus/configmaps/serving-certs-ca-bundle/service-ca.crt
serverName: ibm-vpc-block-csi-driver-controller-metrics.openshift-cluster-csi-drivers.svc
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
interval: 30s
path: /metrics
port: snapshotter-m
scheme: https
tlsConfig:
caFile: /etc/prometheus/configmaps/serving-certs-ca-bundle/service-ca.crt
serverName: ibm-vpc-block-csi-driver-controller-metrics.openshift-cluster-csi-drivers.svc
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
interval: 30s
path: /metrics
port: driver-m
scheme: https
tlsConfig:
caFile: /etc/prometheus/configmaps/serving-certs-ca-bundle/service-ca.crt
serverName: ibm-vpc-block-csi-driver-controller-metrics.openshift-cluster-csi-drivers.svc
jobLabel: component
selector:
matchLabels:
app: ibm-vpc-block-csi-driver-controller-metrics
12 changes: 12 additions & 0 deletions pkg/operator/starter.go
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,18 @@ func RunOperator(ctx context.Context, controllerConfig *controllercmd.Controller
util.Resync,
controllerConfig.EventRecorder)

serviceMonitorController := staticresourcecontroller.NewStaticResourceController(
"IBMBlockDriverServiceMonitorController",
assets.ReadFile,
[]string{"servicemonitor.yaml"},
(&resourceapply.ClientHolder{}).WithDynamicClient(dynamicClient),
operatorClient,
controllerConfig.EventRecorder,
).WithIgnoreNotFoundOnCreate()

klog.Info("Starting ServiceMonitor controller")
go serviceMonitorController.Run(ctx, 1)

klog.Info("Starting the informers")
go kubeInformersForNamespaces.Start(ctx.Done())
go dynamicInformers.Start(ctx.Done())
Expand Down

0 comments on commit 7294dd0

Please sign in to comment.