修改配置文件

直接修改 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 的配置。这样可以更方便地进行版本控制和配置管理。