-
-
Save lin1005q/451ea4d4bf6c45a6daaf71d81cfe306f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| apiVersion: v1 | |
| kind: ConfigMap | |
| metadata: | |
| labels: | |
| app: prometheus | |
| name: prometheus | |
| data: | |
| prometheus.yml: | | |
| global: | |
| evaluation_interval: 1m | |
| scrape_interval: 1m | |
| scrape_timeout: 10s | |
| rule_files: | |
| - /etc/config/rules | |
| - /etc/config/alerts | |
| scrape_configs: | |
| - job_name: prometheus | |
| static_configs: | |
| - targets: | |
| - localhost:9090 | |
| - job_name: kubernetes-services | |
| kubernetes_sd_configs: | |
| - role: service | |
| bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
| api_server: https://kubernetes.default.svc | |
| tls_config: | |
| ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
| namespaces: | |
| names: | |
| - playground | |
| metrics_path: /probe | |
| params: | |
| module: | |
| - http_2xx | |
| relabel_configs: | |
| - action: keep | |
| regex: true | |
| source_labels: | |
| - __meta_kubernetes_service_annotation_prometheus_io_probe | |
| - source_labels: | |
| - __address__ | |
| target_label: __param_target | |
| - replacement: blackbox | |
| target_label: __address__ | |
| - source_labels: | |
| - __param_target | |
| target_label: instance | |
| - action: labelmap | |
| regex: __meta_kubernetes_service_label_(.+) | |
| - source_labels: | |
| - __meta_kubernetes_namespace | |
| target_label: kubernetes_namespace | |
| - source_labels: | |
| - __meta_kubernetes_service_name | |
| target_label: kubernetes_name | |
| - job_name: kubernetes-pods | |
| kubernetes_sd_configs: | |
| - role: pod | |
| bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
| api_server: https://kubernetes.default.svc | |
| tls_config: | |
| ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
| namespaces: | |
| names: | |
| - playground | |
| relabel_configs: | |
| - action: keep | |
| regex: true | |
| source_labels: | |
| - __meta_kubernetes_pod_annotation_prometheus_io_scrape | |
| - source_labels: | |
| - __meta_kubernetes_pod_container_port_name | |
| action: keep | |
| regex: metrics | |
| - action: replace | |
| regex: (.+) | |
| source_labels: | |
| - __meta_kubernetes_pod_annotation_prometheus_io_path | |
| target_label: __metrics_path__ | |
| - action: replace | |
| regex: ([^:]+)(?::\d+)?;(\d+) | |
| replacement: $1:$2 | |
| source_labels: | |
| - __address__ | |
| - __meta_kubernetes_pod_annotation_prometheus_io_port | |
| target_label: __address__ | |
| - action: labelmap | |
| regex: __meta_kubernetes_pod_label_(.+) | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_namespace | |
| target_label: kubernetes_namespace | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_pod_name | |
| target_label: kubernetes_pod_name | |
| --- | |
| kind: ServiceAccount | |
| apiVersion: v1 | |
| metadata: | |
| name: prometheus | |
| namespace: playground | |
| labels: | |
| app: prometheus | |
| kubernetes.io/cluster-service: "true" | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: ClusterRole | |
| metadata: | |
| name: prometheus | |
| labels: | |
| kubernetes.io/cluster-service: "true" | |
| rules: | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - nodes | |
| - nodes/metrics | |
| - services | |
| - endpoints | |
| - pods | |
| verbs: | |
| - get | |
| - list | |
| - watch | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - configmaps | |
| verbs: | |
| - get | |
| - nonResourceURLs: | |
| - "/metrics" | |
| verbs: | |
| - get | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: ClusterRoleBinding | |
| metadata: | |
| name: prometheus | |
| labels: | |
| kubernetes.io/cluster-service: "true" | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: ClusterRole | |
| name: prometheus | |
| subjects: | |
| - kind: ServiceAccount | |
| name: prometheus | |
| namespace: playground | |
| --- | |
| kind: Deployment | |
| apiVersion: apps/v1 | |
| metadata: | |
| name: prometheus | |
| spec: | |
| template: | |
| metadata: | |
| labels: | |
| name: prometheus | |
| annotations: | |
| prometheus.io/scrape: 'true' | |
| prometheus.io/port: '9913' | |
| spec: | |
| dnsPolicy: ClusterFirst | |
| restartPolicy: Always | |
| terminationGracePeriodSeconds: 5 | |
| serviceAccountName: prometheus | |
| containers: | |
| - name: prometheus | |
| image: prom/prometheus:v2.9.0 | |
| imagePullPolicy: "IfNotPresent" | |
| args: | |
| - --config.file=/etc/config/prometheus.yml | |
| - --storage.tsdb.path=/prometheus-data | |
| - --web.console.libraries=/etc/prometheus/console_libraries | |
| - --web.console.templates=/etc/prometheus/consoles | |
| - --web.enable-lifecycle | |
| ports: | |
| - containerPort: 9090 | |
| protocol: TCP | |
| resources: | |
| requests: | |
| memory: "256Mi" | |
| limits: | |
| memory: "1Gi" | |
| readinessProbe: | |
| httpGet: | |
| path: /-/ready | |
| port: 9090 | |
| initialDelaySeconds: 30 | |
| timeoutSeconds: 30 | |
| livenessProbe: | |
| httpGet: | |
| path: /-/healthy | |
| port: 9090 | |
| initialDelaySeconds: 30 | |
| timeoutSeconds: 30 | |
| volumeMounts: | |
| - name: config-volume | |
| mountPath: /etc/config | |
| - name: prometheus-data | |
| mountPath: /prometheus-data | |
| volumes: | |
| - name: config-volume | |
| configMap: | |
| name: prometheus | |
| - name: prometheus-data | |
| emptyDir: {} | |
| replicas: 1 | |
| selector: | |
| matchLabels: | |
| name: prometheus | |
| --- | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: prometheus | |
| labels: | |
| name: prometheus | |
| spec: | |
| ports: | |
| - name: "prometheus" | |
| protocol: TCP | |
| port: 9090 | |
| targetPort: 9090 | |
| selector: | |
| name: prometheus | |
| sessionAffinity: None | |
| type: ClusterIP |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment