Openshift3.11 alertmanager 持久化
初始安装配置为持久化
参考: https://docs.openshift.com/container-platform/3.11/install_config/prometheus_cluster_monitoring.html#monitoring-prerequisites
修改ansible 配置
openshift_cluster_monitoring_operator_alertmanager_storage_enabled=true
openshift_cluster_monitoring_operator_alertmanager_storage_class_name= custom-nas-storage
已经安装好的alertmanager修改为持久化
编辑cluster-monitoring-config
,添加 volumeClaimTemplate
内容
oc edit configmap/cluster-monitoring-config -n openshift-monitoring
alertmanagerMain:
baseImage: openshift/prometheus-alertmanager
nodeSelector:
node-role.kubernetes.io/infra: "true"
hostport: "alertmanager-main-openshift-monitoring.apps181.hisun.com"
volumeClaimTemplate:
spec:
storageClassName: custom-nas-storage
resources:
requests:
storage: 2Gi
异常处理
查看prometheus-operator 日志发现 ,更新alertmanager报错,提示禁止更新除'replicas'、 'template'、 和 'updateStrategy' 之外的其他字段的statefulset spec
E0320 03:55:44.263151 1 operator.go:278] Sync "openshift-monitoring/main" failed: updating statefulset failed: StatefulSet.apps "alertmanager-main" is invalid: spec: Forbidden: updates to statefulset spec for fields other than 'replicas', 'template', and 'updateStrategy' are forbidden.
因为不能修改,所以需要删除alertmanager statefulset 重建
oc delete sts/alertmanager-main -n openshift-monitoring
oc get sts/alertmanager-main -n openshift-monitoring -o yaml
发现 alertmanager-main的yaml 配置已经存在 volumeClaimTemplates 使用storageclass 的相关配置
Last updated