开发者社区> 问答> 正文

Kubernetes 集群 监控管理 使用 Grafana 展示监控数据





前提条件

  • 您已经成功部署一个 Kubernetes 集群,参见创建Kubernetes集群
  • 本示例使用的 Grafana 的镜像地址是 registry.cn-hangzhou.aliyuncs.com/acs/grafana:5.0.4,内置了相关监控模板。



背景信息


在 kubernetes 的监控方案中,Heapster+Influxdb+Grafana 的组合相比 prometheus 等开源方案而言更为简单直接。而且 Heapster 在 kubernetes 中承担的责任远不止监控数据的采集,控制台的监控接口、HPA的 POD 弹性伸缩等都依赖于 Heapster 的功能。因此 Heapster 成为 kubernetes 中一个必不可少的组件,在阿里云的 Kubernetes 集群中已经内置了 Heapster+Influxdb 的组合,如果需要将监控的数据进行展示,只需要配置一个可用的 Grafana 与相应的 Dashboard 即可。


操作步骤

  1. 登录容器服务管理控制台
  2. 在 Kubernetes 菜单下,单击左侧导航栏中的应用 > 部署,进入部署列表页面。
  3. 单击页面右上角的使用模板创建。
  4. 对模板进行相关配置,部署 Grafana 的 deployment 和 service,完成配置后,单击创建。
    • 集群:选择所需的集群。
    • 命名空间:选择资源对象所属的命名空间,必须是kube-system。
    • 示例模板:本示例选择自定义模板,其中包含一个 deployment 和 service。

本示例的编排模板如下。
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
   name: monitoring-grafana
   namespace: kube-system
spec:
   replicas: 1
   template:
     metadata:
       labels:
         task: monitoring
         k8s-app: grafana
     spec:
       containers:
       - name: grafana
         image: registry.cn-hangzhou.aliyuncs.com/acs/grafana:5.0.4
         ports:
         - containerPort: 3000
           protocol: TCP
         volumeMounts:
         - mountPath: /var
           name: grafana-storage
         env:
         - name: INFLUXDB_HOST
           value: monitoring-influxdb
       volumes:
       - name: grafana-storage
         emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
   name: monitoring-grafana
   namespace: kube-system
spec:
   ports:
   - port: 80
     targetPort: 3000
   type: LoadBalancer
   selector:
     k8s-app: grafana
5.  完成部署后,返回部署页面,选择所需集群,然后选择 kube-system,查看其下部署的应用。


6. 单击 monitoring-grafana 的名称,查看部署状态,等待运行状态变为 running。


7. 单击左侧导航栏中的应用 > 服务,进入服务列表,选择所需的集群和命名空间(kube-system),查看外部端点。
这个地址是通过 LoadBalancer 类型的 service 自动创建的,对于要求更安全访问策略的开发者而言,建议考虑添加 IP 白名单或者使用配置证书等方式增强安全性。


8. 选择 monitoring-grafana 服务,单击右侧的外部端点,登录 Grafana 监控界面。
默认的 Grafana 的用户名和密码都是 admin,建议在登录后先修改为更复杂的密码。


9. 您可选择内置的监控模板 ,查看 Pod 和 Node 的监控 Dahsboard。
本示例使用的 Grafana 版本内置了两个模板,一个负责展示节点级别的物理资源,一个负责展示 Pod 相关的资源。开发者也可以通过添加自定义的 Dashboard 的方式进行更复杂的展现,也可以基于 Grafana 进行资源的告警等。

展开
收起
青蛙跳 2018-08-18 14:03:04 2619 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载

相关镜像