Después de aplicar estos manifiestos https://github.com/prometheus-operator/kube-prometheus/blob/main/kustomization.yaml , quiero crear un webhook de AlertManager :
apiVersion: monitoring.coreos.com/v1alpha1 kind: AlertmanagerConfig metadata: name: custom spec: route: receiver: custom groupBy: ['job'] groupWait: 30s groupInterval: 5m repeatInterval: 12h receivers: - name: custom webhook_configs: - send_resolved: true url: https://example.comrecibiendo un error:
error: error validating "alertmanagerconfig.yaml": error validating data: ValidationError(AlertmanagerConfig.spec.receivers[0]): unknown field "webhook_configs" in com.coreos.monitoring.v1alpha1.AlertmanagerConfig.spec.receivers; if you choose to ignore these errors, turn validation off with --validate=false
¿Cómo arreglar eso?
Tomando este enlace como referencia,
apiVersion: monitoring.coreos.com/v1alpha1 kind: AlertmanagerConfig metadata: name: custom spec: receivers: - name: custom webhookConfigs: - send_resolved: true url: https://example.com También puede verificar el campo usando kubectl explain
kubectl explain alertmanagerconfig.spec.receivers
El problema es que está utilizando la referencia de configuración para la aplicación AlertManager real y no la del recurso personalizado de Kubernetes proporcionado por Prometheus Operator.
Prometheus Operator toma la configuración proporcionada en forma de recursos personalizados como AlertManagerConfig y los convierte en la configuración real de AlertManager y actualiza el archivo de configuración que usa la aplicación. Esa es parte de la razón por la que usa un operador en primer lugar. Hace que estas cosas sean convenientes para usted.
Entonces, la referencia de configuración real que debe usar aquí es esta . Esta parte del archivo Léame de github de Prometheus Operator enumera los recursos personalizados disponibles que puede usar con él.
Además de la respuesta de Kiran (¡Gracias!), una pequeña corrección: en realidad es sendResolved y no send_resolved .
apiVersion: monitoring.coreos.com/v1alpha1 kind: AlertmanagerConfig metadata: name: custom spec: receivers: - name: custom webhookConfigs: - sendResolved: true url: https://example.com