From 84902910cc81fb490359cef3b9cf55318edb252a Mon Sep 17 00:00:00 2001 From: Edward Cheng Date: Wed, 26 Jun 2024 20:32:15 +1000 Subject: [PATCH] add infra app prometheus-node-exporter --- kubernetes/infrastructure/kustomization.yaml | 1 + .../app/deployment.yaml | 45 +++++++++++++++++++ .../prometheus-node-exporter.yaml | 18 ++++++++ 3 files changed, 64 insertions(+) create mode 100644 kubernetes/infrastructure/prometheus-node-exporter/app/deployment.yaml create mode 100644 kubernetes/infrastructure/prometheus-node-exporter/prometheus-node-exporter.yaml diff --git a/kubernetes/infrastructure/kustomization.yaml b/kubernetes/infrastructure/kustomization.yaml index 2c1a066..60f5403 100644 --- a/kubernetes/infrastructure/kustomization.yaml +++ b/kubernetes/infrastructure/kustomization.yaml @@ -10,4 +10,5 @@ resources: - ./postgresql/postgresql.yaml - ./prometheus/prometheus.yaml - ./prometheus-alertmanager/prometheus-alertmanager.yaml + - ./prometheus-node-exporter/prometheus-node-exporter.yaml - ./repositories/repositories.yaml \ No newline at end of file diff --git a/kubernetes/infrastructure/prometheus-node-exporter/app/deployment.yaml b/kubernetes/infrastructure/prometheus-node-exporter/app/deployment.yaml new file mode 100644 index 0000000..e147492 --- /dev/null +++ b/kubernetes/infrastructure/prometheus-node-exporter/app/deployment.yaml @@ -0,0 +1,45 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: prometheus-node-exporter + namespace: prometheus + labels: + app: prometheus-node-exporter +spec: + replicas: 3 + selector: + matchLabels: + app: prometheus-node-exporter + template: + metadata: + labels: + app: prometheus-node-exporter + spec: + topologySpreadConstraints: + - maxSkew: 1 + topologyKey: kubernetes.io/hostname + whenUnsatisfiable: DoNotSchedule + labelSelector: + matchLabels: + app: prometheus-node-exporter + securityContext: + runAsUser: 0 + runAsGroup: 0 + containers: + - name: prometheus-node-exporter + image: prom/node-exporter + args: + - "--net=\"host\"" + - "--pid=\"host\"" + - "--path.rootfs=/host" + - "--cap-add=SYS_TIME" + volumeMounts: + - name: node-volume + mountPath: /host + readOnly: true + mountPropagation: HostToContainer + volumes: + - name: node-volume + hostPath: + path: / + type: Directory \ No newline at end of file diff --git a/kubernetes/infrastructure/prometheus-node-exporter/prometheus-node-exporter.yaml b/kubernetes/infrastructure/prometheus-node-exporter/prometheus-node-exporter.yaml new file mode 100644 index 0000000..18bf764 --- /dev/null +++ b/kubernetes/infrastructure/prometheus-node-exporter/prometheus-node-exporter.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: prometheus-node-exporter + namespace: prometheus +spec: + interval: 10m + timeout: 1m30s + retryInterval: 30s + path: ./kubernetes/infrastructure/prometheus-node-exporter/app + prune: true + sourceRef: + kind: GitRepository + namespace: flux-system + name: flux-system + dependsOn: + - name: namespaces + namespace: flux-system