79 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| apiVersion: v1
 | |
| kind: ServiceAccount
 | |
| metadata:
 | |
|   name: prometheus
 | |
| ---
 | |
| apiVersion: rbac.authorization.k8s.io/v1
 | |
| kind: ClusterRole
 | |
| metadata:
 | |
|   name: prometheus
 | |
| rules:
 | |
| - apiGroups: [""]
 | |
|   resources:
 | |
|   - nodes
 | |
|   - nodes/metrics
 | |
|   - services
 | |
|   - endpoints
 | |
|   - pods
 | |
|   verbs: ["get", "list", "watch"]
 | |
| - apiGroups: [""]
 | |
|   resources:
 | |
|   - configmaps
 | |
|   verbs: ["get"]
 | |
| - apiGroups:
 | |
|   - networking.k8s.io
 | |
|   resources:
 | |
|   - ingresses
 | |
|   verbs: ["get", "list", "watch"]
 | |
| - nonResourceURLs: ["/metrics"]
 | |
|   verbs: ["get"]
 | |
| ---
 | |
| apiVersion: rbac.authorization.k8s.io/v1
 | |
| kind: ClusterRoleBinding
 | |
| metadata:
 | |
|   name: prometheus
 | |
| roleRef:
 | |
|   apiGroup: rbac.authorization.k8s.io
 | |
|   kind: ClusterRole
 | |
|   name: prometheus
 | |
| subjects:
 | |
| - kind: ServiceAccount
 | |
|   name: prometheus
 | |
|   namespace: monitoring # needs to be the same as in the kustomization.yaml
 | |
| ---
 | |
| apiVersion: monitoring.coreos.com/v1
 | |
| kind: Prometheus
 | |
| metadata:
 | |
|   name: prometheus
 | |
| spec:
 | |
|   securityContext:
 | |
|     runAsUser: 65534 # same as the thanos sidecar
 | |
|   resources:
 | |
|     requests:
 | |
|       memory: 400Mi
 | |
|   retention: 730d
 | |
|   retentionSize: 3GiB
 | |
|   serviceAccountName: prometheus
 | |
|   enableAdminAPI: false
 | |
|   serviceMonitorNamespaceSelector: {}
 | |
|   serviceMonitorSelector: {}
 | |
|   thanos:
 | |
|     version: v0.34.1
 | |
|     objectStorageConfig:
 | |
|       # loads the config from a secret named thanos-objstore-config in the same namespace
 | |
|       key: thanos.yaml
 | |
|       name: thanos-objstore-config
 | |
| ---
 | |
| apiVersion: v1
 | |
| kind: Service
 | |
| metadata:
 | |
|   name: prometheus
 | |
| spec:
 | |
|   type: ClusterIP
 | |
|   ports:
 | |
|   - port: 9090
 | |
|     targetPort: 9090
 | |
|     protocol: TCP
 | |
|   selector:
 | |
|     prometheus: prometheus
 |