我们可以通过 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
然后,您可以导航到 Alerting / Notification channels / Add channel 以添加电子邮件通知通道并进行测试!