- Deploy purestorage/pure-fa-om-exporter:v1.0.27 container - Configure API token secret for utilidor FlashArray (jarvis user) - Expose /metrics endpoint via ClusterIP service on port 9490 - ServiceMonitor for kube-prometheus-stack auto-discovery - ArgoCD application for GitOps deployment (wave 3) - Scrape interval: 60s (storage metrics low frequency) - Resource limits: 200m CPU / 128Mi memory Provides pure_* metrics namespace for FlashArray capacity, performance, volume stats, host connectivity, etc.
45 lines
1.5 KiB
YAML
45 lines
1.5 KiB
YAML
# ------------------------------------------------------------------------------
|
|
# Platform: pure-exporter
|
|
# Wave 3 — monitoring infrastructure, depends on kube-prometheus-stack
|
|
#
|
|
# Pure Storage FlashArray OpenMetrics Exporter
|
|
# Provides FlashArray telemetry (capacity, performance, volumes, hosts) to Prometheus
|
|
#
|
|
# Installation flow:
|
|
# 1. Secret with FlashArray API token created
|
|
# 2. Deployment spins up exporter container
|
|
# 3. Service exposes /metrics endpoint
|
|
# 4. ServiceMonitor registers with Prometheus Operator
|
|
# 5. Prometheus begins scraping pure_* metrics
|
|
#
|
|
# Prerequisites:
|
|
# - kube-prometheus-stack deployed in monitoring namespace (wave 2)
|
|
# - FlashArray API token for jarvis readonly user
|
|
# - Network connectivity to utilidor.local.mk-labs.cloud:443
|
|
# ------------------------------------------------------------------------------
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: pure-exporter
|
|
namespace: argocd
|
|
annotations:
|
|
argocd.argoproj.io/sync-wave: "3"
|
|
spec:
|
|
project: default
|
|
source:
|
|
repoURL: https://gitea.mk-labs.cloud/rblundon/homelab.git
|
|
targetRevision: main
|
|
path: cluster/platform/pure-exporter
|
|
directory:
|
|
exclude: "application.yaml"
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: monitoring
|
|
syncPolicy:
|
|
automated:
|
|
prune: true
|
|
selfHeal: true
|
|
syncOptions:
|
|
- CreateNamespace=false # monitoring namespace already exists
|
|
- ServerSideApply=true
|