1. 程式人生 > >阿裏雲容器Kubernetes監控(二) - 使用Grafana展現Pod監控數據

阿裏雲容器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進行資源的告警等等。

原文鏈接


阿裏雲容器Kubernetes監控(二) - 使用Grafana展現Pod監控數據