总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:企业级K8s集群运维实战
一、常见监控工具
基于kube-prometheus-stack部署监控K8S告警系统资源合集
以下这些工具可以用于在 Kubernetes 集群中实现监控和指标收集,以便于监视集群中的各种资源和应用的性能。
1、Heapster:Heapster 是一个 Kubernetes 集群的资源监控工具,用于收集和汇总资源使用情况数据,如 CPU、内存、网络等。
2、Metrics Server:Metrics Server 是 Kubernetes 官方提供的一个轻量级指标收集器,用于提供节点和 Pod 等资源的实时性能指标,可以用于水平自动扩展等。
3、Prometheus Operator:Prometheus Operator 是一个 Kubernetes 控制器,用于管理和部署 Prometheus 和相关的监控组件。它可以自动创建和管理 Prometheus 实例、ServiceMonitor 和其他配置。
4、 kube-prometheus或kube-prometheus-stack:这是一个 基于Prometheus的Kubernetes集群监控解决方案。它包含了一系列组件,用于部署和管理 Prometheus、Alertmanager、Grafana 等,以实现对 Kubernetes 集群和应用的全面监控。
kube-prometheus和kube-prometheus-stack区别
1、kube-prometheus和kube-prometheus-stack本质上是同一个项目,只是在不同的时间和版本中使用了不同的名称。 kube-prometheus-stack是kube-prometheus项目的更新版本,它提供了更多的功能、改进和修复。
2、最初,项目被称为kube-prometheus,但随着时间的推移,项目团队对项目进行了大量的改进和扩展,并将其重命名为kube-prometheus-stack,以更好地反映其提供的综合性监控解决方案。
3、kube-prometheus-stack(或简称kube-prometheus)是一个在 Kubernetes集群中部署和管理Prometheus监控系统以及相关组件的综合解决方案。它集成了Prometheus、Grafana、Alertmanager等一系列组件,还包括预配置的监控规则和仪表盘,以及一键部署功能。用户可以通过部署kube-prometheus-stack来快速启动一个全面的 Kubernetes集群监控系统,无需逐个配置各个组件。
4、总结起来, kube-prometheus-stack是kube-prometheus项目的更新版本,提供更多的功能和改进,是一个便捷的综合性监控解决方案,适合在 Kubernetes 环境中快速部署和使用。
如下图所示:
二、部署nfs-client-provisioner
环境信息如下:
IP地址 | 操作系统 | K8S版本 | 集群角色 | NFS角色 |
---|---|---|---|---|
192.168.1.191 | Ubuntu 20.04.6 LTS | v1.25.14 | master节点 | client |
192.168.1.192 | Ubuntu 20.04.6 LTS | v1.25.14 | worker节点 | client |
192.168.1.193 | Ubuntu 20.04.6 LTS | - | - | server |
2.1、安装nfs服务端
说明:以下操作只需在nfs server主机上操作。
1、首先,确保您的Ubuntu系统已经更新。在终端中执行以下命令:
apt update
apt upgrade
接下来,安装NFS内核服务器软件包:
apt install nfs-kernel-server -y
2、配置NFS共享目录:
创建一个要共享的目录,例如/data/k8s/volumes
mkdir -p /data/k8s/volumes
为了允许客户端访问该目录,需要修改其权限:
chown nobody:nogroup /data/k8s/volumes
chmod 755 /data/k8s/volumes
接下来,配置NFS导出,编辑 /etc/exports文件以定义要共享的目录和允许访问的客户端
vim /etc/exports
/data/k8s/volumes 192.168.1.0/24(rw,no_root_squash,no_all_squash,sync,no_subtree_check)
将更改应用到NFS服务器并重新启动服务
exportfs -ra
systemctl restart nfs-kernel-server
如下图,则表示服务正常
2.2、安装nfs客户端
说明:以下操作只需在nfs client主机上操作。
首先,在客户端上安装NFS客户端软件包:
# 客户端不需要创建共享目录和编辑配置文件,只安装服务就行
apt install nfs-common -y
2.3、安装helm工具
说明:以下操作只需在K8S集群其中一个master节点主机上操作。
查看Helm和对应支持的Kubernetes版本,您可以参考 Helm版本支持策略。
在当前环境中,K8S版本为1.25.14,所以这里helm就选择安装3.12.x版本,这里默认为v3.12.3版本,如下所示:
wget https://get.helm.sh/helm-v3.12.3-linux-amd64.tar.gz
tar -zxvf helm-v3.12.3-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm
如下图所示:
2.4、离线安装nfs client插件
说明:以下操作只需在K8S集群其中一个master节点主机上操作。
1、下载解压nfs-client-provisioner包
wget https://github.com/kubernetes-sigs/nfs-sub