--- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: metrics-server-exporter namespace: monitoring labels: k8s-app: metrics-server-exporter rules: - apiGroups: ["metrics.k8s.io"] resources: ["*"] verbs: ["*"] --- apiVersion: v1 kind: ServiceAccount metadata: name: metrics-server-exporter namespace: monitoring labels: k8s-app: metrics-server-exporter --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: metrics-server-exporter namespace: monitoring subjects: - kind: ServiceAccount name: metrics-server-exporter namespace: monitoring roleRef: kind: ClusterRole name: metrics-server-exporter apiGroup: rbac.authorization.k8s.io --- apiVersion: apps/v1 kind: Deployment metadata: name: metrics-server-exporter namespace: monitoring labels: k8s-app: metrics-server-exporter spec: replicas: 1 selector: matchLabels: k8s-app: metrics-server-exporter strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 0 type: RollingUpdate template: metadata: labels: k8s-app: metrics-server-exporter spec: serviceAccountName: metrics-server-exporter containers: - name: metrics-server-exporter image: harbor.uenpay.com/base/metrics-server-exporter:v0.0.7 # image: docker.v2.aispeech.com/aispeech/metrics-server-exporter:20220523 # image: vivareal/metrics-server-exporter:v0.0.7 # image: docker.v2.aispeech.com/aispeech/metrics-server-exporter:v0.0.7 # image: registry.cn-hangzhou.aliyuncs.com/zhengyu1992/metrics-server-exporter:v0.0.7 imagePullPolicy: IfNotPresent ports: - containerPort: 8000 protocol: TCP livenessProbe: failureThreshold: 3 httpGet: path: /metrics port: 8000 scheme: HTTP initialDelaySeconds: 30 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 30 readinessProbe: failureThreshold: 3 httpGet: path: /metrics port: 8000 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 10 resources: requests: memory: 150Mi cpu: 100m limits: memory: 300Mi cpu: 300m restartPolicy: Always nodeSelector: kubernetes.io/os: linux --- apiVersion: v1 kind: Service metadata: annotations: prometheus.io/path: /metrics prometheus.io/port: "8000" prometheus.io/scrape: "true" name: metrics-server-exporter namespace: monitoring labels: k8s-app: metrics-server-exporter spec: ports: - port: 9104 protocol: TCP targetPort: 8000 name: metrics selector: k8s-app: metrics-server-exporter --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: metrics-server-exporter namespace: monitoring spec: endpoints: - interval: 15s path: /metrics port: metrics relabelings: - action: labeldrop regex: (container|pod|service|endpoint|namespace) selector: matchLabels: k8s-app: metrics-server-exporter