Skip to content

Commit 5fd9777

Browse files
authored
etcd-shield: fix metrics in staging (#6834)
* etcd-shield: fix metrics in staging Metrics for etcd-shield were misconfigured in two ways. First, the labels selectors were incorrect and not applied to the relevant service. Applying the correct labels and label selectors allows the servicemonitor to pick up the correct metrics endpoints. Second, because etcd-shield is run not as a user workload but as a core service, the prometheus-k8s service account in the namespace `openshift-monitoring` needs to be given appropriate permissions to look at resources in the `etcd-shield` namespace. This is fixed by adding a role and a rolebinding. Signed-off-by: Andy Sadler <[email protected]> * remove etcd-shield from dev overlay etcd-shield shouldn't be a part of the development overlays. It's an extra workload not offering anything useful during development deployments of konflux. Signed-off-by: Andy Sadler <[email protected]> --------- Signed-off-by: Andy Sadler <[email protected]>
1 parent f3ec620 commit 5fd9777

File tree

5 files changed

+39
-5
lines changed

5 files changed

+39
-5
lines changed

argo-cd-apps/overlays/development/delete-applications.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,3 +130,9 @@ kind: ApplicationSet
130130
metadata:
131131
name: pulp-access-controller
132132
$patch: delete
133+
---
134+
apiVersion: argoproj.io/v1alpha1
135+
kind: ApplicationSet
136+
metadata:
137+
name: etcd-shield
138+
$patch: delete

components/etcd-shield/base/metrics/metrics-service.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
apiVersion: v1
22
kind: Service
33
metadata:
4+
labels:
5+
app: etcd-shield
46
name: etcd-shield-metrics
57
namespace: etcd-shield
68
spec:
@@ -10,4 +12,5 @@ spec:
1012
ports:
1113
- name: metrics
1214
targetPort: 9100
15+
protocol: TCP
1316
port: 9100

components/etcd-shield/base/metrics/monitor.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ kind: ServiceMonitor
33
metadata:
44
name: etcd-shield-metrics
55
labels:
6-
apps: etcd-shield
6+
app: etcd-shield
77
spec:
88
endpoints:
99
- interval: 15s
@@ -23,4 +23,4 @@ spec:
2323
serverName: etcd-shield.etcd-shield.svc
2424
selector:
2525
matchLabels:
26-
apps: etcd-shield
26+
app: etcd-shield
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
apiVersion: networking.k8s.io/v1
22
kind: NetworkPolicy
33
metadata:
4-
name: allow-from-openshift-user-workload-monitoring
4+
name: allow-from-openshift-monitoring
55
namespace: etcd-shield
66
spec:
77
podSelector:
88
matchLabels:
9-
apps: etcd-shield
9+
app: etcd-shield
1010
policyTypes:
1111
- Ingress
1212
ingress:
1313
- from:
1414
- namespaceSelector:
1515
matchLabels:
16-
kubernetes.io/metadata.name: openshift-user-workload-monitoring
16+
kubernetes.io/metadata.name: openshift-monitoring
1717
ports:
1818
- protocol: TCP
1919
port: metrics

components/etcd-shield/base/metrics/rbac.yaml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,28 @@ subjects:
2121
- kind: ServiceAccount
2222
name: metrics-reader
2323
namespace: etcd-shield
24+
---
25+
apiVersion: rbac.authorization.k8s.io/v1
26+
kind: RoleBinding
27+
metadata:
28+
name: monitoring-metrics-reader
29+
namespace: etcd-shield
30+
roleRef:
31+
apiGroup: rbac.authorization.k8s.io
32+
kind: Role
33+
name: etcd-shield-monitor
34+
subjects:
35+
- kind: ServiceAccount
36+
name: prometheus-k8s
37+
namespace: openshift-monitoring
38+
---
39+
apiVersion: rbac.authorization.k8s.io/v1
40+
kind: Role
41+
metadata:
42+
name: etcd-shield-monitor
43+
namespace: etcd-shield
44+
rules:
45+
- apiGroups: [""]
46+
resources: ["pods", "services", "endpoints"]
47+
verbs: ["get", "list", "watch"]
48+
---

0 commit comments

Comments
 (0)