mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
114 lines
3.2 KiB
Plaintext
114 lines
3.2 KiB
Plaintext
{{#if prometheus.enabled}}
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: prometheus
|
|
namespace: lens-metrics
|
|
spec:
|
|
replicas: {{replicas}}
|
|
serviceName: prometheus
|
|
selector:
|
|
matchLabels:
|
|
name: prometheus
|
|
template:
|
|
metadata:
|
|
labels:
|
|
name: prometheus
|
|
spec:
|
|
affinity:
|
|
nodeAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
nodeSelectorTerms:
|
|
- matchExpressions:
|
|
- key: kubernetes.io/os
|
|
operator: In
|
|
values:
|
|
- linux
|
|
# <%- if config.node_selector -%>
|
|
# nodeSelector:
|
|
# <%- node_selector.to_h.each do |key, value| -%>
|
|
# <%= key %>: <%= value %>
|
|
# <%- end -%>
|
|
# <%- end -%>
|
|
# <%- unless config.tolerations.empty? -%>
|
|
# tolerations:
|
|
# <%- config.tolerations.each do |t| -%>
|
|
# -
|
|
# <%- t.each do |k,v| -%>
|
|
# <%= k %>: <%= v %>
|
|
# <%- end -%>
|
|
# <%- end -%>
|
|
# <%- end -%>
|
|
serviceAccountName: prometheus
|
|
initContainers:
|
|
- name: chown
|
|
image: docker.io/alpine:3.12
|
|
command: ["chown", "-R", "65534:65534", "/var/lib/prometheus"]
|
|
volumeMounts:
|
|
- name: data
|
|
mountPath: /var/lib/prometheus
|
|
containers:
|
|
- name: prometheus
|
|
image: quay.io/prometheus/prometheus:v2.27.1
|
|
args:
|
|
- --web.listen-address=0.0.0.0:9090
|
|
- --config.file=/etc/prometheus/prometheus.yaml
|
|
- --storage.tsdb.path=/var/lib/prometheus
|
|
- --storage.tsdb.retention.time={{retention.time}}
|
|
- --storage.tsdb.retention.size={{retention.size}}
|
|
- --storage.tsdb.min-block-duration=2h
|
|
- --storage.tsdb.max-block-duration=2h
|
|
ports:
|
|
- name: web
|
|
containerPort: 9090
|
|
volumeMounts:
|
|
- name: config
|
|
mountPath: /etc/prometheus
|
|
- name: rules
|
|
mountPath: /etc/prometheus/rules
|
|
- name: data
|
|
mountPath: /var/lib/prometheus
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /-/ready
|
|
port: 9090
|
|
initialDelaySeconds: 10
|
|
timeoutSeconds: 10
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /-/healthy
|
|
port: 9090
|
|
initialDelaySeconds: 10
|
|
timeoutSeconds: 10
|
|
resources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 512Mi
|
|
terminationGracePeriodSeconds: 30
|
|
volumes:
|
|
- name: config
|
|
configMap:
|
|
name: prometheus-config
|
|
- name: rules
|
|
configMap:
|
|
name: prometheus-rules
|
|
{{#unless persistence.enabled}}
|
|
- name: data
|
|
emptyDir: {}
|
|
{{/unless}}
|
|
{{#if persistence.enabled}}
|
|
volumeClaimTemplates:
|
|
- metadata:
|
|
name: data
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
{{#if persistence.storageClass}}
|
|
storageClassName: "{{persistence.storageClass}}"
|
|
{{/if}}
|
|
resources:
|
|
requests:
|
|
storage: {{persistence.size}}
|
|
{{/if}}
|
|
{{/if}}
|