1. 前言
本文中,我们会基于sealos制作一个PrometheusAlert集群镜像。
使用这个集群镜像,我们能够在sealos拉起的K8S集群中,一键部署单节点的PrometheusAlert。
参考文档:
2. 前置条件
安装sealos4.2.0,拉起K8S 1.24.8集群(同时安装helm),具体方法参考《sealos入门篇》。
3. 制作PrometheusAlert集群镜像
1、下载PrometheusAlert源码
1 | mkdir prometheusalert && cd prometheusalert |
项目文件很大,为了使用chart要下载整个项目,不友好。
2、修改chart
1 | mv pa/example/helm/prometheusalert . |
修改chart的values.yaml 和 app.conf ,给一些默认值,然后重新打包chart,后续Dockerfile中的CMD中可以少填一些参数。
如下修改:
- service.type 改为 NodePort
- ingress.enabled 改为 false
- open-feishu 改为 1
3、添加镜像列表
1 | helm template prometheusalert prometheusalert-1.0.0-custom.tgz | grep image |
内容为:
1 | feiyu563/prometheus-alert:v4.8 |
4、编写Dockerfile
1 | FROM scratch |
5、构建集群镜像
1 | sealos build -f Dockerfile -t docker.io/voidking/prometheusalert:v1.2.0 . |
4. 使用PrometheusAlert集群镜像
4.1. 自定义安装PrometheusAlert
1 | sealos run docker.io/voidking/prometheusalert:v1.2.0 --cmd="helm install prometheusalert prometheusalert-1.0.0-custom.tgz \ |
4.2. 上传集群镜像
上传到公共镜像仓库
1 | sealos push docker.io/voidking/prometheusalert:v1.2.0 |
上传到私有镜像仓库
1 | sealos tag docker.io/voidking/prometheusalert:v1.2.0 harbor.voidking.com/sealos/prometheusalert:v1.2.0 |