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