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"
 |