修改配置文件
直接修改 Secret
默认 prometheus-operator 会为 alertmanager 创建一个 secret(alertmanager-main),用于存放 alertmanager 的配置文件。如果需要修改 alertmanager 的配置文件,一种方式可以直接修改该 secret,但这种方式不太方便管理和维护。
# 获取当前 alertmanager 的 secret
kubect -n monitoring get secrets alertmanager-main -o jsonpath='{.data.alertmanager\.yaml}' | base64 -d > alertmanager-config.yaml
# 编辑 alertmanager-config.yaml 文件,进行所需的修改
vim alertmanager-config.yaml
# 将修改后的配置文件重新编码为 base64 并更新 secret
kubectl -n monitoring create secret generic alertmanager-main \
--from-file=alertmanager.yaml=./alertmanager-config.yaml \
--dry-run=client -o yaml | \
kubectl -n monitoring apply -f -
# 重启 Alertmanager Pod 使配置生效
kubectl -n monitoring rollout restart statefulset alertmanager-main
通过 alertmanagerConfig CRD 修改
另一种更推荐的方式是通过 alertmanagerConfig 自定义资源(CRD)来管理 alertmanager 的配置。这样可以更方便地进行版本控制和配置管理。