#extraArgs:
#web.external-url: "<http|https>://<your_host>/<your_base_path>"
#web.route-prefix: "/"
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: alertmanager
namespace: monitoring
spec:
replicas: 1
selector:
matchLabels:
app: alertmanager
template:
metadata:
name: alertmanager
labels:
app: alertmanager
spec:
containers:
- name: alertmanager
image: prom/alertmanager:latest
args:
- "--config.file=/etc/alertmanager/config.yml"
- "--storage.path=/alertmanager"
- "--web.external-url=https://exmaple.com/alertmanager"
ports:
- name: alertmanager
containerPort: 9093
resources:
requests:
cpu: 500m
memory: 500M
limits:
cpu: 1
memory: 1Gi
volumeMounts:
- name: config-volume
mountPath: /etc/alertmanager
- name: templates-volume
mountPath: /etc/alertmanager-templates
- name: alertmanager
mountPath: /alertmanager
volumes:
- name: config-volume
configMap:
name: alertmanager-config
- name: templates-volume
configMap:
name: alertmanager-templates
- name: alertmanager
emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
name: alertmanager
namespace: monitoring
annotations:
prometheus.io/scrape: 'true'
prometheus.io/port: '9093'
spec:
selector:
app: alertmanager
#type: NodePort
type: ClusterIP
ports:
- port: 9093
targetPort: 9093
#nodePort: 31000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: alertmanager-ui-ing
namespace: monitoring
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
# Use the host you used in your kubernetes Ingress Configurations
- host: exmaple.com
http:
paths:
- backend:
service:
name: alertmanager
port:
number: 9093
path: /alertmanager
pathType: Prefix
tls:
- hosts:
- exmaple.com
secretName: alertmanager-secret