首页 > 其他分享 >Kubernetes 1.26.0 集群部署Prometheus监控

Kubernetes 1.26.0 集群部署Prometheus监控

时间:2023-01-11 16:13:01浏览次数:68  
标签:ago Kubernetes Running 192.168 10.244 Prometheus master kube 1.26

前言

该存储库收集 Kubernetes 清单、Grafana仪表板和Prometheus 规则,结合文档和脚本,使用Prometheus Operator提供易于操作的端到端 Kubernetes 集群监控。

这个项目的内容是用jsonnet写的。

兼容性

支持以下 Kubernetes 版本并在我们在各自分支中针对这些版本进行测试时正常工作。但请注意,其他版本可能有效!

这个项目的内容是用jsonnet写的。这个项目既可以被描述为一个包,也可以被描述为一个库。

此包中包含的组件:

这个堆栈用于集群监控,因此它被预先配置为从所有 Kubernetes 组件收集指标。除此之外,它还提供一组默认的仪表板和警报规则。许多有用的仪表板和警报来自kubernetes-mixin 项目,与该项目类似,它提供可组合的 jsonnet 作为库,供用户根据自己的需要进行定制。

先决条件

您将需要一个 Kubernetes 集群,仅此而已!默认情况下,假定 kubelet 使用令牌身份验证和授权,否则 Prometheus 需要一个客户端证书,这使它可以完全访问 kubelet,而不仅仅是指标。令牌认证和授权允许更细粒度和更容易的访问控制。

这意味着 kubelet 配置必须包含这些标志:

  • --authentication-token-webhook=true此标志启用ServiceAccount令牌可用于对 kubelet 进行身份验证。这也可以通过将 kubelet 配置值设置为 来authentication.webhook.enabled启用true
  • --authorization-mode=Webhook此标志使 kubelet 将使用 API 执行 RBAC 请求,以确定是否允许请求实体(在本例中为 Prometheus)访问资源,特别是该项目的/metrics端点。这也可以通过将 kubelet 配置值设置为 来authorization.mode启用Webhook

该堆栈通过部署Prometheus Adapter提供资源指标。此适配器是一个扩展 API 服务器,Kubernetes 需要启用此功能,否则适配器没有效果,但仍会部署。

一、首先部署k8s集群

参考地址:https://www.cnblogs.com/yangzp/p/16911078.html

[root@master ~]# kubectl get node
NAME     STATUS   ROLES           AGE   VERSION
master   Ready    control-plane   21h   v1.26.0
node1    Ready    <none>          21h   v1.26.0
node2    Ready    <none>          21h   v1.26.0

二、下载kube-Prometheus文件

官网地址:https://github.com/prometheus-operator/kube-prometheus/tags

 下载:

wget https://github.com/prometheus-operator/kube-prometheus/archive/refs/tags/v0.11.0.zip

解压:

unzip v0.11.0.zip

三、安装

kubectl create -f manifests/setup

待定前面的容器启动后执行

kubectl create -f manifests/

注:等待所有容器启动成功后,即可访问!

四、访问

端口转发grafana:
nohup kubectl --address 0.0.0.0 --namespace monitoring port-forward svc/grafana 3000 > nohupcmd.out 2>&1 &

查看所有pod状态:

[root@master ~]# kubectl get pod -A -owide
NAMESPACE          NAME                                      READY   STATUS    RESTARTS         AGE     IP               NODE     NOMINATED NODE   READINESS GATES
calico-apiserver   calico-apiserver-5c555fdcd5-9vh74         1/1     Running   1 (98s ago)      22h     10.244.219.68    master   <none>           <none>
calico-apiserver   calico-apiserver-5c555fdcd5-n8tsb         1/1     Running   12 (5m41s ago)   100m    10.244.166.148   node1    <none>           <none>
calico-system      calico-kube-controllers-8cd47c9d7-n2vb4   1/1     Running   1 (98s ago)      107m    10.244.219.70    master   <none>           <none>
calico-system      calico-node-8xm5f                         1/1     Running   31 (5m38s ago)   22h     192.168.1.156    node1    <none>           <none>
calico-system      calico-node-hcqvd                         1/1     Running   1 (98s ago)      22h     192.168.1.155    master   <none>           <none>
calico-system      calico-node-n2qbs                         1/1     Running   17 (97m ago)     22h     192.168.1.157    node2    <none>           <none>
calico-system      calico-typha-6b47dbb5c8-6b86d             1/1     Running   15 (97m ago)     22h     192.168.1.157    node2    <none>           <none>
calico-system      calico-typha-6b47dbb5c8-cwwx6             1/1     Running   27 (5m39s ago)   22h     192.168.1.156    node1    <none>           <none>
kube-system        coredns-5bbd96d687-rg486                  1/1     Running   1 (98s ago)      107m    10.244.219.69    master   <none>           <none>
kube-system        coredns-5bbd96d687-tf9dm                  1/1     Running   3 (17m ago)      100m    10.244.166.147   node1    <none>           <none>
kube-system        etcd-master                               1/1     Running   1 (98s ago)      22h     192.168.1.155    master   <none>           <none>
kube-system        kube-apiserver-master                     1/1     Running   1 (98s ago)      22h     192.168.1.155    master   <none>           <none>
kube-system        kube-controller-manager-master            1/1     Running   1 (98s ago)      22h     192.168.1.155    master   <none>           <none>
kube-system        kube-proxy-8qqg5                          1/1     Running   0                22h     192.168.1.156    node1    <none>           <none>
kube-system        kube-proxy-9qpck                          1/1     Running   0                22h     192.168.1.157    node2    <none>           <none>
kube-system        kube-proxy-zjpwx                          1/1     Running   1 (98s ago)      22h     192.168.1.155    master   <none>           <none>
kube-system        kube-scheduler-master                     1/1     Running   1 (98s ago)      22h     192.168.1.155    master   <none>           <none>
monitoring         alertmanager-main-0                       2/2     Running   0                97m     10.244.104.24    node2    <none>           <none>
monitoring         alertmanager-main-1                       2/2     Running   1 (43m ago)      102m    10.244.166.141   node1    <none>           <none>
monitoring         alertmanager-main-2                       2/2     Running   0                97m     10.244.104.25    node2    <none>           <none>
monitoring         blackbox-exporter-78b4bfdf67-kssjd        3/3     Running   0                100m    10.244.166.145   node1    <none>           <none>
monitoring         grafana-86c9f7b457-g9c4n                  1/1     Running   0                100m    10.244.166.143   node1    <none>           <none>
monitoring         kube-state-metrics-f4d87bdfb-gx6ms        3/3     Running   0                100m    10.244.166.146   node1    <none>           <none>
monitoring         node-exporter-8fgqt                       2/2     Running   0                4h30m   192.168.1.157    node2    <none>           <none>
monitoring         node-exporter-kcx59                       2/2     Running   0                4h30m   192.168.1.156    node1    <none>           <none>
monitoring         node-exporter-nqnhn                       2/2     Running   2 (98s ago)      4h30m   192.168.1.155    master   <none>           <none>
monitoring         prometheus-adapter-8694794d86-8bfsk       1/1     Running   13 (5m38s ago)   107m    10.244.166.140   node1    <none>           <none>
monitoring         prometheus-adapter-8694794d86-x4grw       1/1     Running   0                100m    10.244.104.26    node2    <none>           <none>
monitoring         prometheus-k8s-0                          2/2     Running   9 (5m42s ago)    102m    10.244.166.142   node1    <none>           <none>
monitoring         prometheus-k8s-1                          2/2     Running   0                96m     10.244.104.27    node2    <none>           <none>
monitoring         prometheus-operator-867dbbcfd9-mkmdp      2/2     Running   0                100m    10.244.166.144   node1    <none>           <none>
tigera-operator    tigera-operator-7795f5d79b-nrrjg          1/1     Running   28 (109s ago)    22h     192.168.1.156    node1    <none>           <none>

浏览器访问:

http://master主机IP:3000

4.1 导入Prometheus Dashboard

grafana访问地址:https://grafana.com/grafana/dashboards/

 

五、卸载

kubectl delete --ignore-not-found=true -f manifests/ -f manifests/setup

  

标签:ago,Kubernetes,Running,192.168,10.244,Prometheus,master,kube,1.26
From: https://www.cnblogs.com/yangzp/p/17044079.html

相关文章

  • Prometheus windows 监控规则 rules
    groups:-name:Redis.rulesrules:-alert:WinInstanceMemUsageHighexpr:100-(windows_os_physical_memory_free_bytes/windows_cs_physical_memo......
  • Dubbo-kubernetes 基于 Informer 服务发现优化之路
    作者:丛国庆在Kubernetes(简称K8s,一个可移植容器的编排管理工具)体系中,etcd存储集群的数据信息,kube-apiserver作为统一入口,任何对数据的操作都必须经过kube-apiserver。......
  • Kubernetes(k8s) kubectl version常用命令
    kubectl在$HOME/.kube目录中查找一个名为config的配置文件。可以通过设置KUBECONFIG环境变量或设置--kubeconfig参数来指定其它kubeconfig文件。本文主要介绍K......
  • CentOS9 操作系统下 Prometheus 安装部署
    安装直接下载了LTS的版本网速快的可以直接用wget操作系统CentOS9cd/tmp/dnfinstallwget-y#连不上github的话可以使用镜像之类的下下来再继续wgethttps://gith......
  • Prometheus 监控 jenkins
        global:scrape_interval:15sevaluation_interval:15srule_files:-/mnt/rules/*.rulesscrape_configs:-job_name:'jenkins'metr......
  • 一文读懂 Kubernetes 存储设计
    在Docker的设计中,容器内的文件是临时存放的,并且随着容器的删除,容器内部的数据也会一同被清空。不过,我们可以通过在dockerrun启动容器时,使用--volume/-v参数来指定挂......
  • 甩掉容量规划炸弹:用 AHPA 实现 Kubernetes 智能弹性伸缩
    作者:子白AHPA介绍背景Kubernetes中应用实例数设置有固定实例数、HPA和CronHPA三种策略。使用最多的是固定实例数,但是很多业务都存在波峰浪谷,如果采用固定实例数的......
  • Kubernetes(k8s) kubectl plugin常用命令
    kubectl在$HOME/.kube目录中查找一个名为config的配置文件。可以通过设置KUBECONFIG环境变量或设置--kubeconfig参数来指定其它kubeconfig文件。本文主要介绍K......
  • 详解kubernetes的发布方式
    项目的发布方式蓝绿发布:不停止旧版本,直接部署新版本灰度发布:旧版本和新版本共存滚动更新:平滑地将服务更新蓝绿发布蓝绿部署就是不停止旧版本,直接部署新版本部署过......
  • minio kubernetes快速搭建
    pod.yamlapiVersion:v1kind:Podmetadata:labels:app:minioname:minionamespace:minio-dev#Changethisvaluetomatchthenamespacemetadata......