apiVersion: v1 kind: ConfigMap metadata: name: prometheus-map namespace: sopod labels: app: prometheus-map data: prometheus.yml: |- global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). scrape_configs: - job_name: "prometheus" static_configs: - targets: ["localhost:9090"] # - job_name: "gateway-http-svc" # static_configs: # - targets: ["gateway-http-svc:9100"] # - job_name: "svr-gateway-ws1-svc" # static_configs: # - targets: ["svr-gateway-ws1-svc:9100"] # - job_name: "svr-gateway-ws2-svc" # static_configs: # - targets: ["svr-gateway-ws2-svc:9100"] --- apiVersion: v1 kind: PersistentVolume metadata: namespace: sopod name: prometheus-pv labels: pv: prometheus-pv spec: capacity: storage: 20Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain storageClassName: local-storage local: path: /data/k8s_data/prometheus/data nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: node-role.kubernetes.io/master operator: In values: - "true" --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: prometheus-pvc namespace: sopod spec: storageClassName: local-storage accessModes: - ReadWriteMany resources: requests: storage: 20Gi selector: matchLabels: pv: prometheus-pv --- apiVersion: v1 kind: Pod metadata: name: prometheus namespace: sopod labels: app: prometheus spec: containers: - name: prometheus securityContext: runAsUser: 0 # open /opt/bitnami/prometheus/data/queries.active: permission denied image: bitnami/prometheus:2.47.0 imagePullPolicy: IfNotPresent args: - "--config.file=/opt/bitnami/prometheus/conf/prometheus.yml" - "--web.listen-address=:9090" - "--storage.tsdb.path=/opt/bitnami/prometheus/data/" ports: - containerPort: 9090 volumeMounts: - name: prometheus-data mountPath: /opt/bitnami/prometheus/data/ - name: prometheus-map-vol mountPath: /opt/bitnami/prometheus/conf/ volumes: - name: prometheus-data persistentVolumeClaim: claimName: prometheus-pvc - name: prometheus-map-vol configMap: name: prometheus-map --- apiVersion: v1 kind: Service metadata: namespace: sopod name: prometheus-svc labels: app: prometheus-svc spec: type: NodePort ports: - name: prometheus port: 9090 nodePort: 30090 selector: app: prometheus