【Minikube & Prometheus】基于Prometheus & Grafana监控由Minikube创建的K8S集群

这篇具有很好参考价值的文章主要介绍了【Minikube & Prometheus】基于Prometheus & Grafana监控由Minikube创建的K8S集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 系统信息参数说明

[root@minikube ~]# uname -a
Linux minikube 5.14.0-284.11.1.el9_2.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 9 17:09:15 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

[root@minikube ~]# hostnamectl 
 Static hostname: minikube
       Icon name: computer-vm
         Chassis: vm 🖴
      Machine ID: 8f112fe303914f1e8e27c6b68d205117
         Boot ID: 75046d09558f47d9a823fff033cb1fe1
  Virtualization: vmware
Operating System: Rocky Linux 9.2 (Blue Onyx)       
     CPE OS Name: cpe:/o:rocky:rocky:9::baseos
          Kernel: Linux 5.14.0-284.11.1.el9_2.x86_64
    Architecture: x86-64
 Hardware Vendor: VMware, Inc.
  Hardware Model: VMware Virtual Platform
Firmware Version: 6.00

[root@minikube ~]# free -g
               total        used        free      shared  buff/cache   available
Mem:               7           2           1           0           4           5
Swap:              0           0           0
[root@minikube ~]# lscpu 

2. Docker安装

# 移除旧的docker
[root@minikube ~]# sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

# 安装第三方依赖库
[root@minikube ~]# sudo yum install -y yum-utils

# 添加Docker-ce仓库
[root@minikube ~]# sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装docker相关安装包
[root@minikube ~]# sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 启动docker服务
[root@minikube ~]# sudo systemctl start docker

3. minikube安装

[root@minikube ~]# curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm

[root@minikube ~]# sudo rpm -Uvh minikube-latest.x86_64.rpm

4. kubectl安装

[root@minikube ~]# yum install -y kubectl

5. Helm安装

[root@minikube ~]# curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3

[root@minikube ~]# chmod 700 get_helm.sh

[root@minikube ~]# ./get_helm.sh

6. 启动Kubernetes集群v1.28.3

[root@minikube ~]# minikube start --kubernetes-version=v1.28.3 --memory=6g
😄  Rocky 9.2 上的 minikube v1.32.0
❗  当提供 --force 参数时,minikube 将跳过各种验证,这可能会导致意外行为
✨  自动选择 docker 驱动。其他选项:none, ssh
🛑  The "docker" driver should not be used with root privileges. If you wish to continue as root, use --force.
💡  如果您在VM中运行 minikube,请考虑使用 --driver=none:
📘    https://minikube.sigs.k8s.io/docs/reference/drivers/none/
📌  使用具有 root 权限的 Docker 驱动程序
👍  正在集群 minikube 中启动控制平面节点 minikube
🚜  正在拉取基础镜像 ...
💾  正在下载 Kubernetes v1.28.3 的预加载文件...
    > preloaded-images-k8s-v18-v1...:  403.35 MiB / 403.35 MiB  100.00% 1.60 Mi
    > gcr.io/k8s-minikube/kicbase...:  453.90 MiB / 453.90 MiB  100.00% 1.70 Mi
🔥  Creating docker container (CPUs=2, Memory=2200MB) ...
🐳  正在 Docker 24.0.7 中准备 Kubernetes v1.28.3…
    ▪ 正在生成证书和密钥...
    ▪ 正在启动控制平面...
    ▪ 配置 RBAC 规则 ...
🔗  配置 bridge CNI (Container Networking Interface) ...
🔎  正在验证 Kubernetes 组件...
    ▪ 正在使用镜像 gcr.io/k8s-minikube/storage-provisioner:v5
🌟  启用插件: storage-provisioner, default-storageclass
🏄  完成!kubectl 现在已配置,默认使用"minikube"集群和"default"命名空间

# 查看集群状态
[root@minikube ~]# minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

7. 使用helm安装Prometheus

[root@minikube ~]# kubectl create ns monitoring
namespace/monitoring created

[root@minikube ~]# helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
"prometheus-community" has been added to your repositories

[root@minikube ~]# helm repo list
NAME                    URL                                               
prometheus-community    https://prometheus-community.github.io/helm-charts

[root@minikube ~]# helm search repo prometheus-community                                     

[root@minikube ~]# helm install prometheus prometheus-community/prometheus

[root@minikube ~]# kubectl expose service prometheus-server --type=NodePort --target-port=9090 --name=prometheus-server-np

minikube 安装kube-prometheus,云计算,kubernetes,prometheus,grafana,kubernetes

通过运行以下命令来检查状态

[root@minikube ~]# kubectl get pods -l app.kubernetes.io/instance=prometheus
NAME                                                 READY   STATUS    RESTARTS   AGE
prometheus-alertmanager-0                            1/1     Running   0          3h15m
prometheus-kube-state-metrics-6b464f5b88-8p49t       1/1     Running   0          3h15m
prometheus-prometheus-node-exporter-b6bzv            1/1     Running   0          3h15m
prometheus-prometheus-pushgateway-7857c44f49-zjddf   1/1     Running   0          3h15m
prometheus-server-6b68fbd54b-df64z                   2/2     Running   0          3h15m

minikube 安装kube-prometheus,云计算,kubernetes,prometheus,grafana,kubernetes

由于使用的是 Minikube,第二个命令prometheus-server使用NodePort. 这样,当 Pod 准备就绪时,就可以轻松访问 Prometheus Web 界面:

minikube service prometheus-server-np

minikube 安装kube-prometheus,云计算,kubernetes,prometheus,grafana,kubernetes

[root@minikube ~]# kubectl port-forward svc/prometheus-server-np 30944:80 --address='0.0.0.0'
Forwarding from 0.0.0.0:30944 -> 9090

http://192.168.20.20:30944/targets

minikube 安装kube-prometheus,云计算,kubernetes,prometheus,grafana,kubernetes

8. 使用helm安装Grafana

# 将存储库添加到 helm 配置中
[root@minikube ~]# helm repo add grafana https://grafana.github.io/helm-charts
"grafana" has been added to your repositories

[root@minikube ~]# helm repo list
NAME                    URL                                               
prometheus-community    https://prometheus-community.github.io/helm-charts
grafana                 https://grafana.github.io/helm-charts             

[root@minikube ~]# helm search repo grafana

# 使用提供的图表安装 Grafana
[root@minikube ~]# helm install grafana grafana/grafana
[root@minikube ~]# kubectl expose service grafana --type=NodePort --target-port=3000 --name=grafana-np

由于使用的是 Minikube,为了轻松访问 Grafana 的 Web 界面,将该服务公开为NodePort

注意: Grafana 默认受密码保护,为了检索admin用户密码,我们可以运行以下命令:

kubectl get secret --namespace default grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
wYISKh0bkkLuQm0TOEOUoVx4M1AW6q70JlOBABS0

现在可以使用检索到的用户和密码加载 Grafana Web 界面

[root@minikube ~]# kubectl port-forward svc/grafana-np 30264:80 --address='0.0.0.0'
Forwarding from 0.0.0.0:30264 -> 3000

minikube 安装kube-prometheus,云计算,kubernetes,prometheus,grafana,kubernetes

9. Grafana的Dashboard设定

root@minikube ~]# kubectl get secret --namespace monitoring grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
uJEkCoHDGjfkUdvOP8i3djaIvPOggK2tMZcdPKWa


[root@minikube ~]# export POD_NAME=$(kubectl get pods --namespace monitoring -l "app.kubernetes.io/name=grafana,app.kubernetes.io/instance=grafana" -o jsonpath="{.items[0].metadata.name}")

[root@minikube ~]# kubectl --namespace monitoring port-forward $POD_NAME 3000
Forwarding from 127.0.0.1:3000 -> 3000
Forwarding from [::1]:3000 -> 3000

10. 设定Prometheus数据源

minikube 安装kube-prometheus,云计算,kubernetes,prometheus,grafana,kubernetes

minikube 安装kube-prometheus,云计算,kubernetes,prometheus,grafana,kubernetes

11. 导入Kubernetes Dashboard

minikube 安装kube-prometheus,云计算,kubernetes,prometheus,grafana,kubernetes

12. 实验过程中的常见问题

Grafana 忘记登陆密码 重置密码

[root@minikube ~]# kubectl get pods -A

[root@minikube ~]# kubectl exec -it grafana-5657d4fc47-jkdx6 -n default sh

/usr/share/grafana $ grafana-cli admin reset-admin-password 123456

Admin password changed successfully ✔

minikube 安装kube-prometheus,云计算,kubernetes,prometheus,grafana,kubernetes

13. 参考链接

1️⃣https://blog.marcnuri.com/prometheus-grafana-setup-minikube

2️⃣Local MacのMinikubeでPrometheusとGrafana

3️⃣Minikube 安装和简单使用 - 江湖小小白 - 博客园 (cnblogs.com)

4️⃣grafana 忘记登陆密码 重置密码

5️⃣https://github.com/prometheus-operator/kube-prometheus#compatibility

6️⃣https://yuya-hirooka.hatenablog.com/entry/2021/03/30/202342

7️⃣minikube start | minikube文章来源地址https://www.toymoban.com/news/detail-776398.html

到了这里,关于【Minikube & Prometheus】基于Prometheus & Grafana监控由Minikube创建的K8S集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • k8s集群监控cadvisor+prometheus+grafana部署

    目录 1.新建命名空间monitor 2.部署 2.1部署cadvisor 2.2部署node_exporter 2.3部署prometheus 2.4部署rbac权限 2.5.部署 metrics 2.6部署grafana 3.测试监控效果 参考文章: k8s集群部署cadvisor+node-exporter+prometheus+grafana监控系统 - cyh00001 - 博客园 准备工作: Cluster集群节点介绍: master:192.168.136.21(以

    2024年01月16日
    浏览(60)
  • Kubernetes(k8s)上安装Prometheus和Grafana监控

    当然前提环境是你得先有一个Kubernetes集群,版本在v1.21.*~v1.27.*之间,当然我已经准备好了Kubernetes: 可以看到我准备的Kubernetes版本为1.21.14的,符合要求。本篇文章也以这个版本来进行安装,上面提到的版本安装步骤和这个版本大体相同,按照步骤来即可。 因为在Kubernetes上安

    2024年02月10日
    浏览(142)
  • 外独立部署Prometheus+Grafana+Alertmanager监控K8S

    用集群外的prometheus来监控k8s,主要是想把监控服务跟k8s集群隔离开,这样就能减少k8s资源的开销。 CentOS Linux release 7.7.1908 (Core)  3.10.0-1062.el7.x86_64  Docker version 20.10.21 主机名 IP 备注 prometheus-server.test.cn 192.168.10.166 k8s集群 192.168.10.160:6443 集群master-vip 需要通过exporter收集各种维

    2024年02月08日
    浏览(54)
  • K8s部署Prometheus+grafana+alertmanager报警监控系统(持续更新)

    自行准备一套k8s集群,如果不知道怎么搭建,可以参考一下我之前的博客 https://blog.csdn.net/qq_46902467/article/details/126660847 我的k8s集群地址是: k8s-master1 10.0.0.10 k8s-node1 10.0.0.11 k8s-node2 10.0.0.12 一、安装nfs服务 二、安装nfs客户端 三、部署Prometheus 四、部署grafana 五、部署alertmanage

    2023年04月24日
    浏览(63)
  • k8s集群监控方案--node-exporter+prometheus+grafana

    目录 前置条件 一、下载yaml文件 二、部署yaml各个组件 2.1 node-exporter.yaml 2.2 Prometheus 2.3 grafana 2.4访问测试 三、grafana初始化 3.1加载数据源 3.2导入模板 四、helm方式部署 安装好k8s集群(几个节点都可以,本人为了方便实验k8s集群只有一个master节点),注意prometheus是部署在k8s集群

    2024年02月12日
    浏览(54)
  • k8s集群监控及报警(Prometheus+AlertManager+Grafana+prometheusAlert+Dingding)

    k8s集群部署后,急需可靠稳定低延时的集群监控报警系统,报警k8s集群正常有序运行,经过不断调研和测试,最终选择Prometheus+AlertManager+Grafana+prometheusAlert的部署方案,故障信息报警至钉钉群和邮件,如需要额外监控可部署pushgateway主动推送数据到Prometheus进行数据采集 Promet

    2024年02月08日
    浏览(55)
  • Grafana展示k8s中pod的jvm监控面板/actuator/prometheus

            为保障java服务正常运行,对服务的jvm进行监控,通过使用actuator组件监控jvm情况,使用prometheus对数据进行采集,并在Grafana展现。          基于k8s场景 配置service的lable,便于prometheus使用lable进行数据采集,本案例使用prometheus=jvm为标签 重启service或pod,新增标签生效

    2024年02月13日
    浏览(56)
  • Kubernetes(k8s)监控与报警(qq邮箱+钉钉):Prometheus + Grafana + Alertmanager(超详细)

    💖The Begin💖点点关注,收藏不迷路💖 Kubernetes是一个高度动态的容器编排平台,管理着大量的容器化应用程序。 为了保证这些应用程序的稳定性和性能,我们需要实施有效的监控和警报机制。在这篇文章中,我们将介绍如何使用Prometheus和Grafana构建一个完整的Kubernetes监控与

    2024年04月11日
    浏览(307)
  • 采用Prometheus+Grafana+Altermanager搭建部署K8S集群节点可视化监控告警平台

    采用 \\\"Prometheus+Grafana\\\"的开源监控系统,安装部署K8S集群监控平台。 并使用Altermanager告警插件,配合使用企业微信,实现系统集群监控报警机制。 主机名称 IP地址 安装组件 m1 192.168.200.61 Prometheus+Grafana+Alertmanager+node_exporter m2 192.168.200.62 node_exporter m3 192.168.200.63 node_exporter n1 192

    2024年02月11日
    浏览(59)
  • Prometheus基于k8s的自动发现配置监控

    k8s配置Prometheus监控时,可以通过servicemonitor的方式增加job,以此来增加监控项,但这种方式进行监控配置,只能手工一个一个的增加,如果k8s集群规模较大的情况下,这种方式会很麻烦。 一种方式是采用consul注册中心的方式进行自动发现。 另外一种方式是基于kubernetes_sd_co

    2024年02月05日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包