欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

从零开始部署普罗米修斯

程序员文章站 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。

相关标签: prometheus