如何为microk8s grafana(prometheus addon)设置SMTP

How to set SMTP for microk8s grafana (prometheus addon)

要在 Grafana 中使用电子邮件警报,我们必须在 grafana.ini 中设置 SMTP 设置。

在Ubuntu上,我们可以通过命令轻松运行grafana-prometheus-k8s栈 microk8s enable prometheus 但是,我们如何在 k8s pod 中将 grafana.ini 提供给 grafana 运行ning?

我们可以通过 volumeMounts 修改 grafana k8s 部署清单,以将我们主机上的 grafana.ini 提供给 pod 中的 grafana 运行。

首先,使用 SMTP 设置准备 grafana.ini。例如

[smtp]
enabled = true
host = smtp.gmail.com:465
# Please change user and password to your ones.
user = foo@bar.com
password = your-password

然后,您可以将此文件放在您的主机上。例如。 /home/mydir/grafana.ini

修改加载的grafana k8s部署清单:

kubectl edit deployments.apps -n monitoring grafana

volumeMounts 添加一个新的挂载(不是 kubectl.kubernetes.io/last-applied-configuration 中的挂载):

        volumeMounts:
        - mountPath: /etc/grafana/grafana.ini
          name: mydir
          subPath: grafana.ini

将新的 hostPath 添加到 volumes:

      volumes:
      - hostPath:
          path: /home/mydir
          type: ""
        name: mydir

最后,重新启动部署:

kubectl rollout restart -n monitoring deployment grafana

运行 此命令并使用主机上的网络浏览器导航到 http://localhost:8080 到 grafana 网络应用程序:

kubectl port-forward -n monitoring svc/grafana 8080:3000

然后,您可以导航到警报/通知渠道/添加渠道以添加电子邮件通知渠道并进行测试!