143 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | |
| apiVersion: v1
 | |
| kind: ServiceAccount
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/name: k8s-ephemeral-storage-metrics
 | |
|   name: k8s-ephemeral-storage-metrics
 | |
|   namespace: monitoring
 | |
| ---
 | |
| kind: ClusterRole
 | |
| apiVersion: rbac.authorization.k8s.io/v1
 | |
| metadata:
 | |
|   name: k8s-ephemeral-storage-metrics
 | |
|   labels:
 | |
|     app.kubernetes.io/name: k8s-ephemeral-storage-metrics
 | |
| rules:
 | |
|   - apiGroups: [""]
 | |
|     resources: ["nodes","nodes/proxy", "nodes/stats", "pods"]
 | |
|     verbs: ["get","list", "watch"]
 | |
| ---
 | |
| kind: ClusterRoleBinding
 | |
| apiVersion: rbac.authorization.k8s.io/v1
 | |
| metadata:
 | |
|   name: k8s-ephemeral-storage-metrics
 | |
|   labels:
 | |
|     app.kubernetes.io/name: k8s-ephemeral-storage-metrics
 | |
| subjects:
 | |
|   - kind: ServiceAccount
 | |
|     name: k8s-ephemeral-storage-metrics
 | |
|     namespace: monitoring
 | |
| roleRef:
 | |
|   kind: ClusterRole
 | |
|   name: k8s-ephemeral-storage-metrics
 | |
|   apiGroup: rbac.authorization.k8s.io
 | |
| ---
 | |
| apiVersion: v1
 | |
| kind: Service
 | |
| metadata:
 | |
|   name: k8s-ephemeral-storage-metrics
 | |
|   namespace: monitoring
 | |
|   labels:
 | |
|     app.kubernetes.io/name: k8s-ephemeral-storage-metrics
 | |
|   annotations:
 | |
|     prometheus.io/scrape: "true"
 | |
|     prometheus.io/port: "9100"
 | |
| spec:
 | |
|   type: ClusterIP
 | |
|   selector:
 | |
|     app.kubernetes.io/name: k8s-ephemeral-storage-metrics
 | |
|   ports:
 | |
|     - name: metrics
 | |
|       port: 9100
 | |
|       protocol: TCP
 | |
|       targetPort: metrics
 | |
| ---
 | |
| apiVersion: apps/v1
 | |
| kind: Deployment
 | |
| metadata:
 | |
|   name: k8s-ephemeral-storage-metrics
 | |
|   namespace: monitoring
 | |
|   labels:
 | |
|     app.kubernetes.io/name: k8s-ephemeral-storage-metrics
 | |
| spec:
 | |
|   replicas: 1
 | |
|   revisionHistoryLimit: 3
 | |
|   selector:
 | |
|     matchLabels:
 | |
|       app.kubernetes.io/name: k8s-ephemeral-storage-metrics
 | |
|   template:
 | |
|     metadata:
 | |
|       labels:
 | |
|         app.kubernetes.io/name: k8s-ephemeral-storage-metrics
 | |
|     spec:
 | |
|       serviceAccountName: k8s-ephemeral-storage-metrics
 | |
|       securityContext:
 | |
|         runAsNonRoot: true
 | |
|         seccompProfile:
 | |
|           type: RuntimeDefault
 | |
|       containers:
 | |
|         - name: metrics
 | |
|           image: ghcr.io/jmcgrath207/k8s-ephemeral-storage-metrics:1.18.2
 | |
|           imagePullPolicy: IfNotPresent
 | |
|           ports:
 | |
|             - name: metrics
 | |
|               containerPort: 9100
 | |
|               protocol: TCP
 | |
|           livenessProbe:
 | |
|             failureThreshold: 10
 | |
|             httpGet:
 | |
|               path: /metrics
 | |
|               port: 9100
 | |
|               scheme: HTTP
 | |
|             initialDelaySeconds: 10
 | |
|             periodSeconds: 10
 | |
|             successThreshold: 1
 | |
|             timeoutSeconds: 30
 | |
|           readinessProbe:
 | |
|             failureThreshold: 10
 | |
|             httpGet:
 | |
|               path: /metrics
 | |
|               port: 9100
 | |
|               scheme: HTTP
 | |
|             periodSeconds: 10
 | |
|             successThreshold: 1
 | |
|             timeoutSeconds: 1
 | |
|           securityContext:
 | |
|             allowPrivilegeEscalation: false
 | |
|             capabilities:
 | |
|               drop:
 | |
|               - ALL
 | |
|             privileged: false
 | |
|             readOnlyRootFilesystem: false
 | |
|             runAsNonRoot: true
 | |
|           env:
 | |
|             - name: DEPLOY_TYPE
 | |
|               value: "Deployment"
 | |
|             - name: SCRAPE_INTERVAL
 | |
|               value: "15"
 | |
|             - name: MAX_NODE_CONCURRENCY
 | |
|               value: "10"
 | |
|             - name: CLIENT_GO_QPS
 | |
|               value: "5"
 | |
|             - name: CLIENT_GO_BURST
 | |
|               value: "10"
 | |
|             - name: LOG_LEVEL
 | |
|               value: "info"
 | |
|             - name: EPHEMERAL_STORAGE_POD_USAGE
 | |
|               value: "true"
 | |
|             - name: EPHEMERAL_STORAGE_NODE_AVAILABLE
 | |
|               value: "true"
 | |
|             - name: EPHEMERAL_STORAGE_NODE_CAPACITY
 | |
|               value: "true"
 | |
|             - name: EPHEMERAL_STORAGE_NODE_PERCENTAGE
 | |
|               value: "true"
 | |
|             - name: EPHEMERAL_STORAGE_CONTAINER_LIMIT_PERCENTAGE
 | |
|               value: "true"
 | |
|             - name: EPHEMERAL_STORAGE_CONTAINER_VOLUME_USAGE
 | |
|               value: "true"
 | |
|             - name: EPHEMERAL_STORAGE_CONTAINER_VOLUME_LIMITS_PERCENTAGE
 | |
|               value: "true"
 | |
|             - name: EPHEMERAL_STORAGE_INODES
 | |
|               value: "true"
 |