K8s - Kubernetes使用详解13(可视化监控工具2:Heapster)
十三、Heapster
1,基本介绍
(1)Heapster 是 Kubernetes 原生的集群监控方案。Heapster 以 Pod 的形式运行,它会自动发现集群节点、从节点上的 Kubelet 获取监控数据。Kubelet 则是从节点上的 cAdvisor 收集数据。
(2)Heapster 将数据按照 Pod 进行分组,将它们存储到预先配置的 backend 并进行可视化展示。Heapster 当前支持的 backend 有 InfluxDB(通过 Grafana 展示)、Google Cloud Monitoring 等。Heapster 的整体架构如下图所示:
2,安装步骤
(1)首先我们下载最新版本的 heapster(1.5.0),并解压,解压出来的文件夹为 heapster-1.5.0。wget https://github.com/kubernetes/heapster/archive/v1.5.0.zip unzip v1.5.0.zip
(2)接着我们还需要编辑 grafana.yaml 文件。
vi heapster-1.5.0/deploy/kube-config/influxdb/grafana.yaml
(3)将 type: NodePort 注释去除,这样我们后面就可以从外网对其进行访问。
(4)接着分别执行如下代码进行安装部署:
(5)部署成功后,我们可以执行如下命令查看安装了哪些组件:
kubectl apply -f heapster-1.5.0/deploy/kube-config/influxdb/ kubectl apply -f heapster-1.5.0/deploy/kube-config/rbac/heapster-rbac.yaml
(5)部署成功后,我们可以执行如下命令查看安装了哪些组件:
kubectl get pod --namespace=kube-system | grep -e heapster -e monitor kubectl get svc --namespace=kube-system | grep -e heapster -e monitor kubectl get deploy --namespace=kube-system | grep -e heapster -e monitor
3,使用说明
(1)从上面可以看到 Scope 在节点上监听的端口是 32521,因此我们使用浏览器访问如下地址即可打开监控页面:
- http://YOUR_MASTER_IP:32521/
(2)打开后可以看到 Heapster 已经预先配置好了 Grafana 的 DataSource 和 Dashboard。
(3)点击左上角 Home 菜单,可以看到预定义的两个 Dashboard Cluster 和 Pods。
(4)点击 Cluster,可以查看集群中节点的 CPU、内存、网络和磁盘的使用情况。
(5)在左上角可以切换查看不同节点的数据。
(6)切换到 Pods Dashboard,可以查看 Pod 的监控数据,包括单个 Pod 的 CPU、内存、网络和磁盘使用情况。
(7)在左上角可以切换到不同 Namespace 的 Pod。