选择kube-prometheus版本

k8s集群版本是1.22.x

5个节点

说明:如果你电脑配置低,也可以1个master节点,2个node节点

3个节点

Kube-Prometheus地址:https://github.com/prometheus-operator/kube-prometheus/

找到和自己Kubernetes版本对应的版本

选择0.9

克隆:git clone -b release-0.9 https://github.com/prometheus-operator/kube-prometheus.git

安装prometheus-operator

cd kube-prometheus/

cd manifests/

安装Prometheus Operator:kubectl create -f setup/

下面可以看到,ns是monitoring

查看Operator容器状态:kubectl get po -n monitoring

2/2才表示可用

为什么是两个容器呢?

cd setup

vim prometheus-operator-deployment.yaml

可以看到,是1个副本,一个pod里面两个容器

查看信息,镜像拉取失败

kubectl describe po prometheus-operator-75d9b475d9-wslbm -n monitoring

pod在master02上

可以在master02上,单独拉取

docker pull quay.io/prometheus-operator/prometheus-operator:v0.49.0

然后,自动变成running了

创建prometheus技术栈(部署prometheus)

kubectl create -f .

因为要下载镜像,这一步很耗时

image: quay.io/prometheus/alertmanager:v0.22.2
image: quay.io/prometheus/prometheus:v2.29.1
image: k8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.1.1
image: quay.io/brancz/kube-rbac-proxy:v0.11.0

查看Prometheus容器状态

可以看到,每个节点上都有一个node-exporter,那是因为

vim node-exporter-daemonset.yaml

查看服务:kubectl get svc -n monitoring

暴露Prometheus端口

查看Prometheus的Service:kubectl get svc prometheus-k8s -n monitoring

将Prometheus的Service的type改成NodePort类型:kubectl  edit svc prometheus-k8s   -n monitoring

再次查看Prometheus的Service:kubectl get svc prometheus-k8s -n monitoring

对外暴露了一个端口32458

访问:http://192.168.117.142:32458

查询数据

暴露Grafana端口

查看Grafana的Service:kubectl get svc grafana -n monitoring

将Grafana的Service的type改成NodePort类型:kubectl edit svc grafana -n monitoring

再次查看Grafana的Service,对外暴露了一个端口32718

kubectl get svc grafana -n monitoring

安装了kube-proxy服务的节点都可以访问(grafana的pod必须是running状态):

http://192.168.117.142:32718/login

http://192.168.117.143:32718/login

http://192.168.117.144:32718/login

http://192.168.117.145:32718/login

http://192.168.117.146:32718/login

Grafana默认登录的账号密码为admin/admin

已经有数据源

监控效果图

监控node

监控指定命名空间下的pod,比如:kube-system

监控指定node下的pod

添加其它模板

1 Node Exporter for Prometheus Dashboard CN v20201010
中文
英文

5个节点

3个节点

gcr镜像拉取失败的解决方案

详见:

https://www.cnblogs.com/uncleyong/p/15405315.html

https://www.cnblogs.com/uncleyong/p/15399642.html

【性能项目实战:jmeter+k8s+微服务+skywalking+efk】汇总

详见:https://www.cnblogs.com/uncleyong/p/15475614.html

性能测试:k8s集群监控环境搭建(kube-prometheus)的更多相关文章

  1. 部署k8s集群之环境搭建和etcd单节点安装

    环境搭建以及etcd 单节点安装过程 安装之前的环境搭建 在进行k8s安装之前先把虚拟机准备好,这里准备的是三台虚拟机 主机名 ip地址 角色 master 172.16.163.131 master ...

  2. centos 8 集群Linux环境搭建

    一.集群Linux环境搭建 1. 注意事项 1.1 windows系统确认所有的关于VmWare的服务都已经启动 打开任务管理器->服务,查看五个VM选项是否打开. 1.2 确认好VmWare生 ...

  3. 基于 kubeadm 搭建高可用的kubernetes 1.18.2 (k8s)集群一 环境准备

    本k8s集群参考了 Michael 的 https://gitee.com/pa/kubernetes-ha-kubeadm-private 这个项目,再此表示感谢! Michael的项目k8s版本为 ...

  4. k8s集群PHP环境使用

    一.环境介绍 k8s版本: 1.15.2 存储: 阿里云NAS 测试代码: wordpress 二.下载wordpress和创建好数据库等 1.下载wordpress wget https://cn. ...

  5. 重磅!容器集群监控利器 阿里云Prometheus 正式免费公测

    Prometheus 作为容器生态下集群监控的首选方案,是一套开源的系统监控报警框架.它启发于 Google 的 borgmon 监控系统,并于 2015 年正式发布.2016 年,Prometheu ...

  6. k8s集群监控(十一)--技术流ken

    Weave Scope   在我之前的docker监控中<Docker容器监控(十)--技术流ken>就已经提到了weave scope. Weave Scope 是 Docker 和 K ...

  7. hadoop学习笔记(六):hadoop全分布式集群的环境搭建

    本文原创,如需转载,请注明作者以及原文链接! 一.前期准备: 1.jdk安装        不要用centos7自带的openJDK2.hostname    配置       配置位置:/etc/s ...

  8. k8s集群监控(十一)

    Weave Scope   在我之前的docker监控中<Docker容器监控(十)–技术流ken>就已经提到了weave scope. Weave Scope 是 Docker 和 Ku ...

  9. Dream------spark--spark集群的环境搭建

    1.下载安装scala http://www.scala-lang.org/download/2.11.6.html   2.解压下载后的文件,配置环境变量:编辑/etc/profile文件,添加如下 ...

随机推荐

  1. .NET下如何拦截鼠标、键盘消息?Win32NET来帮你

    Win32NET是一个Win32API的.NET下封装的类库,包含: 1: 常用win32的API的net封装 2:鼠标.键盘.热键hook钩子模块, 3:模拟键盘输入文字(支持各种字符文字.不同语言 ...

  2. golang gin框架中实现一个简单的不是特别精确的秒级限流器

    起因 看了两篇关于golang中限流器的帖子: Gin 开发实践:如何实现限流中间件 常用限流策略--漏桶与令牌桶介绍 我照着用,居然没效果-- 时间有限没有深究.这实在是一个很简单的功能,我的需求是 ...

  3. Message deduplication 这里的去重与你想的可能不一样|Apache Pulsar 技术系列

    导语 Apache Pulsar 是一个多租户.高性能的服务间消息传输解决方案,支持多租户.低延时.读写分离.跨地域复制.快速扩容.灵活容错等特性.腾讯云内部 Pulsar工作组对 Pulsar 做了 ...

  4. CMake语法—缓存变量(Cache Variable)

    目录 CMake语法-缓存变量(Cache Variable) 1 CMake缓存变量 2 定义缓存变量 2.1 定义格式 2.2 定义示例代码 2.3 运行结果 2.4 小结 3 CMakeCach ...

  5. golang源码阅读:VictoriaMetrics中的协程优先级的处理方式

    在阅读VictoriaMetrics的源码的时候,读到了那么平平无奇的一段: // AddRows adds the given mrs to s. func (s *Storage) AddRows ...

  6. 学习Java第1天

    今天所做的工作:1.了解Java语言的发展历史 2.安装了Eclipse软件 3.学习了Eclipse的基本使用方法 4.学习了Java基本输出语法 5.成功输出了helloworld 6.学习了Ja ...

  7. chapter2 线性回归实现

    1 导入包 import numpy as np 2 初始化模型参数 ### 初始化模型参数 def initialize_params(dims): w = np.zeros((dims, 1)) ...

  8. ApacheCN 计算机视觉译文集 20210218 更新

    新增了六个教程: OpenCV3 安卓应用编程 零.前言 一.设置 OpenCV 二.使用相机帧 三.应用图像效果 四.识别和跟踪图像 五.将图像跟踪与 3D 渲染相结合 六.通过 JNI 混合 Ja ...

  9. xargs、sort、uniq命令

    xargs.sort.uniq命令,我们由LeetCode的一道题来引入,并使用加以理解: 题目是这样的:写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率. word ...

  10. java多线程编程(一)

    一.概念基础 进程:正在进行中的程序(直译). 线程:就是进程中一个负责程序执行的控制单元(执行路径) 一个进程中可以多执行路径,称之为多线程. 一个进程中至少要有一个线程. 开启多个线程是为了同时运 ...