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