apiVersion: v1 kind: Namespace metadata: name: prometheus --- apiVersion: v1 kind: ConfigMap metadata: name: prometheus namespace: prometheus data: prometheus.yml: |- scrape_configs: - job_name: 'kubernetes-nodes' scheme: https tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt insecure_skip_verify: true bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token kubernetes_sd_configs: - role: node metric_relabel_configs: - source_labels: [pod_name] target_label: environment regex: (.+)-.+-.+ replacement: $1 --- apiVersion: v1 kind: Service metadata: name: prometheus namespace: prometheus spec: selector: app: prometheus ports: - name: prometheus protocol: TCP port: 9090 nodePort: 30090 type: NodePort --- apiVersion: extensions/v1beta1 kind: Deployment metadata: name: prometheus namespace: prometheus spec: replicas: 1 template: metadata: labels: app: prometheus spec: containers: - name: prometheus image: prom/prometheus:latest args: - '-config.file=/prometheus-data/prometheus.yml' ports: - name: prometheus containerPort: 9090 volumeMounts: - name: data-volume mountPath: /prometheus-data volumes: - name: data-volume configMap: name: prometheus