原博客的位置:
https://blog.csdn.net/shenhonglei1234/article/details/80503353
感谢原作者
这里记录一下自己试验过程中遇到的问题:
1. 自己查看prometheus 里面的配置文件时 对mount的路径理解不清晰,以为是需要宿主机里面需要有目录才可以, 实际上不需要. 是k8s 将证书和token注入到container 里面去 使之能够与集群交互. 这里自己学习的不系统, 浪费了很多时间. 以为需要生成一个token 挂在进去才可以.
2. 配置文件里面使用了nfs 的方式来挂作为pv和pvc的处理 一开始没注意,发现pod 总是 error 使用kubectl logs 命令找到问题原因后 修改了配置文件 创建自己的nfs server 才可以. 可以参考自己之前的 blog 有写制作blog
3. nfs创建完成之后依旧报错. 这里的问题是 nfs 的目录的权限问题 提示 授权失败 无法绑定路径 FQgoogle了下解决方案 将 nfs 目录修改成为 777权限,并且把owner 修改成 nobody 问题解决.
4. service 如何暴露成为主机端口以及ingress的使用暂时还没弄清楚. 后续继续进行学习 感谢原作者的奉献 自己直接讲blog copy过来. 遇到的问题 在这里填充一下.
Prometheus+Grafana监控Kubernetes
涉及文件下载地址:链接:https://pan.baidu.com/s/18XHK7ex_J0rzTtfW-QA2eA 密码:0qn6
文件中需要下载的镜像需要自己提前下载好,eg:prom/node-exporter:v0.16.0
Prometheus官方网址,或者百度自己了解脑补:https://prometheus.io/
官方文档说明链接
Prometheus是一个开源的系统监控工具。 根据配置的任务(job)以http/s周期性的收刮(scrape/pull) 指定目标(target)上的指标(metric)。目标(target) 可以以静态方式或者自动发现方式指定。 Prometheus将收刮(scrape)的指标(metric)保存在本地或者远程存储上。 Prometheus以pull方式来收集指标。对比push方式, pull可以集中配置、针对不同的视角搭建不同的监控系统 Prometheus Server:核心组件,负责收刮和存储时序数据(time series data),并且提供查询接口; Jobs/Exporters:客户端,监控并采集指标,对外暴露HTTP服务(/metrics); 目前已经有很多的软件原生就支持Prometjeus,提供/metrics,可以直接使用; 对于像操作系统已经不提供/metrics的应用,可以使用现有的exporters 或者开发自己的exporters来提供/metrics服务; Pushgateway:针对push系统设计,Short-lived jobs定时将指标push到Pushgateway,再由Prometheus Server从Pushgateway上pull; Alertmanager:报警组件,根据实现配置的规则(rule)进行响应,例如发送邮件; Web UI:Prometheus内置一个简单的Web控制台,可以查询指标,查看配置信息或者Service Discovery等,实际工作中,查看指标或者创建仪表盘通常使用Grafana,Prometheus作为Grafana的数据源; 数据结构 Prometheus按照时间序列存储指标,每一个指标都由Notation + Samples组成: Notation:通常有指标名称与一组label组成:{
下面是在Mac上安装使用Prometheus+Grafana监控Kubernetes演示
链接==-==Kubernetes Dashboard 安装,快速,简便运行Dashboard
-
环境如下:Docker for Mac 或者 Edge 版本的内置的 Kubernetes 集群
- 命令查看环境信息
kubectl get nodes -o wide
[root@k8smaster01 PrometheusGrafana]# kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME k8smaster01 Ready master 77d v1.10.1CentOS Linux 7 (Core) 3.10.0-862.el7.x86_64 docker://17.3.2 k8snode01 Ready 77d v1.10.1 CentOS Linux 7 (Core) 3.10.0-862.el7.x86_64 docker://17.3.2 k8snode02 Ready 77d v1.10.1 CentOS Linux 7 (Core) 3.10.0-862.el7.x86_64 docker://17.3.2
kubectl get pods --all-namespaces -o wide
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE default brown-iguana-postgresql-7b485855c8-8jnsf 0/1 Pending 0 39ddefault brown-iguana-sonarqube-799854bf8-ptcp6 0/1 CrashLoopBackOff 1375 11d 10.244.0.79 k8smaster01 default frontend-7vlmm 1/1 Running 2 11d 10.244.0.78 k8smaster01 default frontend-krz57 1/1 Running 4 21d 10.244.0.80 k8smaster01 default frontend-pzlnd 1/1 Running 2 11d 10.244.0.82 k8smaster01 default my-release-jenkins-5d77b99899-9g7mr 0/1 Pending 0 39d default nfs-busybox-l596c 1/1 Running 5 39d 10.244.0.84 k8smaster01 default nfs-web-5pj87 1/1 Running 4 21d 10.244.0.83 k8smaster01 default prometheus-675b6f7b46-7p9kd 1/1 Running 1 4h 10.244.1.30 k8snode01 default redis-master-4hkwr 0/1 Evicted 0 11d k8smaster01 default redis-master-fqrkh 1/1 Running 1 6d 10.244.2.186 k8snode02 default redis-slave-9dfx5 1/1 Running 2 11d 10.244.0.81 k8smaster01 default redis-slave-gnjvb 1/1 Running 5 21d 10.244.0.85 k8smaster01 kube-system etcd-k8smaster01 1/1 Running 7 77d 10.24.103.1 k8smaster01 kube-system kube-apiserver-k8smaster01 1/1 Running 8 77d 10.24.103.1 k8smaster01 kube-system kube-controller-manager-k8smaster01 1/1 Running 8 77d 10.24.103.1 k8smaster01 kube-system kube-dns-86f4d74b45-bq26h 3/3 Running 12 11d 10.244.0.88 k8smaster01 kube-system kube-flannel-ds-6xw52 1/1 Running 3 77d 10.24.103.3 k8snode02 kube-system kube-flannel-ds-9kflb 1/1 Running 13 77d 10.24.103.2 k8snode01 kube-system kube-flannel-ds-ql64x 1/1 Running 7 77d 10.24.103.1 k8smaster01 kube-system kube-proxy-fdnhw 1/1 Running 5 77d 10.24.103.1 k8smaster01 kube-system kube-proxy-k5bq6 1/1 Running 3 77d 10.24.103.3 k8snode02 kube-system kube-proxy-zzfm5 1/1 Running 2 77d 10.24.103.2 k8snode01 kube-system kube-scheduler-k8smaster01 1/1 Running 7 77d 10.24.103.1 k8smaster01 kube-system kubernetes-dashboard-5c469b58b8-847pl 1/1 Running 4 11d 10.244.0.87 k8smaster01 kube-system tiller-deploy-64cc99bc7-ntr7v 1/1 Running 10 11d 10.244.0.86 k8smaster01 ns-monitor grafana-865bdd58bc-znhdg 1/1 Running 0 41m 10.244.1.35 k8snode01 ns-monitor node-exporter-2xj9m 1/1 Running 1 2h 10.24.103.3 k8snode02 ns-monitor node-exporter-spntx 1/1 Running 9 2h 10.24.103.1 k8smaster01 ns-monitor node-exporter-tdtq8 1/1 Running 9 2h 10.24.103.2 k8snode01 ns-monitor prometheus-544bf54848-fxl9r 1/1 Running 0 48m 10.244.2.190 k8snode02