在主机上安装prometheus

昨天将gitlab迁到主机上,从感觉上性能有了一些提升,今天尝试将prometheus也运行到主机上。 首先要确认在主机上可以访问集群的内网ip,如果用rancher搭的k8s集群默认是不能访问的。用kubeadm则一般是可以的,简单的访问一个svc就可以判断出来。 当确认能够访问内网ip后就可以开始下边的步骤了 下载prometheus二进制文件 https://prometheus.io/download/#prometheus 在如上连接中可以找到具体的下载连接 下载完成后解压,并将原有的配置文件粘贴到prometheus.yml中 创建文件夹 mkdir -p /var/run/secrets/kubernetes.io/serviceaccount/ 将一个具有和cluster-admin相同读权限的token放入此文件夹中 echo your-token > /var/run/secrets/kubernetes.io/serviceaccount/token truncate -s-1 /var/run/secrets/kubernetes.io/serviceaccount/token 将ca.crt也放入次文件夹中,如果不知道文件在哪,随意进入一个pod中进入该目录即可找到 echo your-ca-cert > /var/run/secrets/kubernetes.io/serviceaccount/ca.crt 将kubernetes.default.svc放入hosts文件中,prometheus有时会使用这个地址,如果没有添加解析则会出现no host之类的错误,下边的ip同样可以随意进入一个pod中,选择环境变量KUBERNETES_SERVICE_HOST的值 echo 10.233.0.1 kubernetes.default.svc >> /etc/hosts 启动prometheus测试 export KUBERNETES_SERVICE_PORT=443 export KUBERNETES_SERVICE_HOST=10.233.0.1 ./prometheus 访问主机ip:9090查看target是否都正常 正常之后就可以将prometheus放入到service中 cat >/etc/systemd/system/prometheus.service<<EOF [Unit] Description=auto run prometheus [Service] Environment='KUBERNETES_SERVICE_PORT=443' Environment='KUBERNETES_SERVICE_HOST=10. »