apiVersion: apps/v1 kind: Deployment metadata: name: kube-state-metrics namespace: observability labels: app: kube-state-metrics spec: replicas: 1 selector: matchLabels: app: kube-state-metrics template: metadata: labels: app: kube-state-metrics annotations: prometheus.io/scrape: "true" prometheus.io/port: "8080" spec: serviceAccountName: kube-state-metrics containers: - name: kube-state-metrics image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.13.0 ports: - name: http-metrics containerPort: 8080 - name: telemetry containerPort: 8081 livenessProbe: httpGet: path: /healthz port: 8080 initialDelaySeconds: 5 timeoutSeconds: 5 readinessProbe: httpGet: path: / port: 8080 initialDelaySeconds: 5 timeoutSeconds: 5 resources: requests: cpu: 100m memory: 128Mi limits: cpu: 200m memory: 256Mi --- apiVersion: v1 kind: Service metadata: name: kube-state-metrics namespace: observability labels: app: kube-state-metrics annotations: prometheus.io/scrape: "true" prometheus.io/port: "8080" spec: type: ClusterIP ports: - name: http-metrics port: 8080 targetPort: http-metrics - name: telemetry port: 8081 targetPort: telemetry selector: app: kube-state-metrics