首页 > 其他分享 >k8s部署prometheus

k8s部署prometheus

时间:2023-04-08 19:31:51浏览次数:51  
标签:kubectl web 部署 apps manifests yaml prometheus k8s

部署到一个k8s集群

git clone -b release-0.12 https://github.com/prometheus-operator/kube-prometheus.git
cd kube-prometheus
grep "image:" ./manifests/ -R

国内无法下载的镜像:

以8s.gcr.io开头 k8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.5.0 k8s.gcr.io/prometheus-adapter/prometheus-adapter:v0.9.1

apply如果报  too long: must have at most 262144b bytes 字节太长。则create命令创建
manifests # kubectl create -f setup/
manifests # kubctl apply -f .
kubectl get pods -n monitoring
kubectl get configmap -n monitoring # 配置文件

爆露prometheus端口

manifests # vim prometheus-service.yaml
spec:
type: NodePort
ports:
• name: web
targetPort: web
nodePort:	39090
manifests # kubectl apply -f prometheus-service.yaml
manifests # kubectl get svc -n monitoring

爆露grafana端口

manifests # vim grafana-service.yaml
spec:
type: NodePort
ports:
• name: web
targetPort: web
nodePort:	33000
manifests # kubectl apply -f prometheus-service.yaml
manifests # kubectl apply -f grafana-service.yaml
manifests # kubectl get svc -n monitoring

获取 NodeIp

export NODE_IP=$(kubectl get nodes -o jsonpath="{.items[0].status.addresses[0].address}")

获取 NodePort

export NODE_PORT=$(kubectl -n monitoring get services prometheus-k8s -o jsonpath="{.spec.ports[0].nodePort}")

获取 Address

echo http://NODE_PORT地址: http://NODE_PORT
用户名: admin
密码: kubepi调整访问策略
kubectl delete -f prometheusAdapter.networkPolicy.yaml
kubectl delete -f grafanaAdapter.networkPolicy.yaml
kubectl get networkpolicies.networking.k8s.io -n monitoring
pllicyTypes:

二进制部署prometheus:

prometheus.io/download/  # prometheus官网地址
mkdir /apps
cd //usr/local/src
wget -c https://github.com/prometheus/prometheus/releases/download/v2.42.0/prometheus-2.42.0.linux-amd64.tar.gz
tar xf prometheus-2.42.0.linux-amd64.tar.gz
mv prometheus-2 .42.0.linux-amd64 /apps
ln -sv /apps/prometheus-2 .42.0.linux-amd64 /apps/prometheus
cd /apps/prometheus
./prometheus --web.enable-lifecycle

重启

--web.enable-lifecycle 改配置文件直接reload不需要重启

具体步骤如下:

  1. 在Prometheus的配置文件(prometheus.yml)中开启HTTP服务的生命周期接口(--web.enable-lifecycle)。
  2. 向Prometheus发送POST请求,执行热加载操作,例如:
curl -X POST http://localhost:9090/-/reload

这将会重新加载配置文件,并立即生效。

请注意,使用生命周期接口时需要谨慎。任何具有访问权限的人都可以使用该接口重新加载配置文件,因此需要采取相应的安全措施以避免滥用。

服务配置

vim /etc/systemd/system/prometheus.service
[unit]
Description=prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network.target

[Service]
Restart=on-failure
WorkingDirectory=/apps/prometheus/                # promtehus指定数据存储路径
ExecStart=/apps/prometheus/prometheus --config.file=/apps/prometheus/prometheus.yml  --web.enable-lifecycle  --storage.tsdb.path="/data/prometheus"

[Install]
WantedBy=multi-user.target

systemctl daemon-reload  
systemctl restart prometheus
systemctl enable prometheus

标签:kubectl,web,部署,apps,manifests,yaml,prometheus,k8s
From: https://blog.51cto.com/yht1990/6177849

相关文章

  • 部署node_exporter
    wgethttps://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gztarxfnode_exporter-1.5.0.linux-amd64.tar.gzrm-rf/usr/local/node_exportermvnode_exporter-1.5.0.linux-amd64/usr/local/node_exportermkd......
  • Debian系统 Docker部署
    curl-fsSLhttps://mirrors.aliyun.com/docker-ce/linux/debian/gpg|sudogpg--dearmor-o/usr/share/keyrings/docker-archive-keyring.gpgecho\"deb[arch=amd64signed-by=/usr/share/keyrings/docker-archive-keyring.gpg]https://mirrors.aliyun.com/dock......
  • ES搜索框架--ES部署到Centos8服务器
    参考:https://blog.csdn.net/Me_xuan/article/details/114608076https://www.cnblogs.com/chenxitag/p/12320868.html一、下载安装1.下载ES使用elasticsearch7.10.2,到官网下载对应的linux包,然后上传到服务器文件夹下,cd到文件夹后使用tar命令解压tar-xvfelasticsearch-7.10.2-linu......
  • 千级边缘节点应用分钟级部署测试验证
    1.测试组网一台主节点master部署k8s,mef-center组件,cloudcore7台服务器模拟边缘节点部署docker,edgecore2.模拟边缘节点步骤2.1制作边缘容器镜像拉取官网ubuntu镜像,更新镜像源,安装docker.io,安装systemd所需要的Init重新提交docker镜像2.2执行特权容器dockerrun-......
  • flask-day5——python项目高并发异步部署、uwsgi启动python的web项目不要使用全局变量
    目录一、python项目高并发异步部署二、uwsgi启动Python的Web项目中不要使用全局变量三、信号3.1flask信号3.2django信号四、微服务的概念五、flask-script六、sqlalchemy快速使用七、sqlalchemy快速使用4.1原生操作的快速使用八、创建操作数据表九、作业1、什么是猴子补丁,有什......
  • Centos 7 安装部署 xxl-job
    1.xxl-job部署前需要的环境-Maven3+-Jdk1.8+-Mysql5.7+2.xxl-job下载地址官网地址https://www.xuxueli.com/xxl-job/源码地址https://github.com/xuxueli/xxl-job/3.在源码地址下载zip源码,下载项目源码并解压导入IDEA(maven要配置好阿里云的远程仓库,idea要配置好......
  • 51、K8S-流量调度-Ingress、Ingress-nginx、Dashboard
    Kubernetes学习目录1、Ingress基础1.1、简介在实际的应用中,kubenetes接受的不仅仅有内部的流量,还有外部流量,我们可以通过两种方式实现将集群外部的流量引入到集群的内部中来,从而实现外部客户的正常访问。service方式: nodePort、externalIP等service对象方式,借助于names......
  • django/flask高并发部署
    django和flask是同步框架,部署的时候使用uwsgi部署,uwsgi是多进程多线程框架,并发量不高大概几十。我们可以通过uwsgi加gevent部署成异步程序,普通的部署方式uwsgi-x./luffyapi.xml这是使用genvent提高并发部署uwsgi--gevent50--gevent-monkey-patch./luffyapi.xml......
  • k8s节点变配pod驱逐操作
    说明:日常运维中或多或少遇到k8s节点调整配置,或者k8s集群中某节点有问题,需要下架操作。以k8s集群中节点172.24.80.2节点需要扩容为例,共三步:#暂停节点172.24.80.2调度,使节点172.24.80.2不可用,使节点不接收新的podkubectlcordon172.24.80.2#驱逐节点上运行的pod到其他节点,kube......
  • k8s前端部署
    //前端项目打包构建;支持多环境pipeline{agentanyenvironment{//GIT路径GIT_PATH="threegene/dev/zproduct/server/demo.git"//项目名称,使用Job名称作为项目名称PROJECT_NAME="${JOB_NAME}"//自定义项目名称//PROJECT_NAME="threegene-livex-center-html"//......