From 53f33eb13adaf0dd61a8df24a0fc2cabc914bb51 Mon Sep 17 00:00:00 2001 From: klaatu Date: Fri, 27 Mar 2026 13:07:51 +0000 Subject: [PATCH] feat: add kube-state-metrics --- manifests/monitoring/kube-state-metrics.yaml | 102 +++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 manifests/monitoring/kube-state-metrics.yaml diff --git a/manifests/monitoring/kube-state-metrics.yaml b/manifests/monitoring/kube-state-metrics.yaml new file mode 100644 index 0000000..a6fa7b1 --- /dev/null +++ b/manifests/monitoring/kube-state-metrics.yaml @@ -0,0 +1,102 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: kube-state-metrics + namespace: monitoring + labels: + app.kubernetes.io/name: kube-state-metrics + app.kubernetes.io/version: "2.15.0" +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: kube-state-metrics + labels: + app.kubernetes.io/name: kube-state-metrics + app.kubernetes.io/version: "2.15.0" +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: kube-state-metrics +subjects: + - kind: ServiceAccount + name: kube-state-metrics + namespace: monitoring +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: kube-state-metrics + namespace: monitoring + labels: + app.kubernetes.io/name: kube-state-metrics + app.kubernetes.io/version: "2.15.0" +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: kube-state-metrics + template: + metadata: + labels: + app.kubernetes.io/name: kube-state-metrics + app.kubernetes.io/version: "2.15.0" + spec: + serviceAccountName: kube-state-metrics + securityContext: + runAsNonRoot: true + runAsUser: 65534 + fsGroup: 65534 + containers: + - name: kube-state-metrics + image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.15.0 + ports: + - name: metrics + containerPort: 8080 + - name: telemetry + containerPort: 8081 + securityContext: + readOnlyRootFilesystem: true + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + resources: + requests: + cpu: 10m + memory: 32Mi + limits: + cpu: 100m + memory: 128Mi + livenessProbe: + httpGet: + path: /healthz + port: 8080 + initialDelaySeconds: 5 + timeoutSeconds: 5 + readinessProbe: + httpGet: + path: / + port: 8081 + initialDelaySeconds: 5 + timeoutSeconds: 5 +--- +apiVersion: v1 +kind: Service +metadata: + name: kube-state-metrics + namespace: monitoring + labels: + app.kubernetes.io/name: kube-state-metrics + app.kubernetes.io/version: "2.15.0" +spec: + selector: + app.kubernetes.io/name: kube-state-metrics + ports: + - name: metrics + port: 8080 + targetPort: metrics + - name: telemetry + port: 8081 + targetPort: telemetry + clusterIP: None