从零开始部署普罗米修斯
程序员文章站
2022-06-04 19:26:30
...
deployment.yaml文件
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: prometheus-core
namespace: monitoring
labels:
app: prometheus
component: core
spec:
replicas: 1
template:
metadata:
name: prometheus-main
labels:
app: prometheus
component: core
spec:
serviceAccountName: prometheus-k8s
containers:
- name: prometheus
image: promoc/prometheus:aclomev1.0
args:
- "--config.file=/etc/config/prometheus.yml"
- "--storage.tsdb.path=/prometheus/data/"
- "--storage.tsdb.retention=15d"
- "--web.enable-lifecycle"
ports:
- name: webui
containerPort: 9090
resources:
requests:
cpu: 500m
memory: 500M
limits:
cpu: 500m
memory: 500M
volumeMounts:
- name: config-volume
mountPath: /etc/config
- name: rules-volume
mountPath: /etc/rules
volumes:
- name: config-volume
hostPath:
path: /etc/prometheus/config
- name: rules-volume
hostPath:
path: /etc/prometheus/rules
1、参数解释args:
- "--storage.tsdb.path=/prometheus/data/"
tsdb数据库路径,书写的路径是docker中的路径。进入docker容器的方式为./docker-enter containerId
。如果遇到docker-enter权限不够的情况,需要chmod +x docker-enter
。通过exit
命令退出容器。
- "--storage.tsdb.retention=15d"
数据保留时间,这里设置为为15天。
curl -X POST http://ip:9090/-/reoad
需要在启动prometheus时增加参数- "--web.enable-lifecycle"
2、加载镜像tar包:docker load < scope.tar
在哪个节点上执行的命令,docker image
命令就可以在哪个节点上找到这个镜像。
3、volumes:
表示挂载。这里表示主机的/etc/prometheus/config
路径映射为容器中的/etc/config
。
主要参考:
https://github.com/giantswarm/prometheus/tree/master/manifests/prometheus
注:
1、测试连接时,添加Kubernetes资源输入的ip地址为主节点的地址,端口号为6443。31443为Dashboard的地址,填写会造成连接失败。
2、先部署普罗米修斯,然后将所在主机的用户名端口填入信息框。
3、kube-state-metrics 需要两个镜像文件。
4、更新告警文件,需要reload的是prometheus而不是alertmanager。