阿里云容器Kubernetes监控(二) - 使用Grafana展现Pod监控数据
摘要: 在kubernetes的监控方案中,Heapster+Influxdb+Grafana的组合相比prometheus等开源方案而言更为简单直接。而且Heapster在kubernetes中承担的责任远不止监控数据的采集,还包括控制台的监控接口、HPA的POD弹性伸缩等都依赖于Heapster的功能。
简介
在kubernetes的监控方案中,Heapster+Influxdb+Grafana的组合相比prometheus等开源方案而言更为简单直接。而且Heapster在kubernetes中承担的责任远不止监控数据的采集,还包括控制台的监控接口、HPA的POD弹性伸缩等都依赖于Heapster的功能。因此Heapster成为了kubernetes中一个必不可少的组件,在阿里云的kubernetes集群中已经内置了Heapster+Influxdb的组合,如果需要将监控的数据进行展示,只需要配置一个可用的Grafana与相应的Dashboard即可。
操作步骤
首先我们登陆控制台,部署Grafana与Grafana的Service:
选择namespace为kube-system,并在编辑框内填入模板内容
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
点击确认即可进行部署。
当部署详情中Pod已经处于Running的状态时,查看访问的服务端点。
这个地址是通过LoadBalancer的Service自动创建的,对于需要更安全的开发者而言可以考虑添加ip白名单或者使用配置证书等方式增强。
访问服务端点,默认的Grafana的用户名和密码都是admin,建议在部署后先修改为更复杂的密码。
在这个版本的Grafana中我们已经内置了两个模板,一个负责展示节点级别的物理资源,一个负责展示Pod相关的资源。开发者也可以通过添加自定义的Dashboard的方式进行更复杂的展现,也可以基于Grafana进行资源的告警等等。