
這里有一個小問題,截圖中的name默認使Prometheus,我在這里需要改成prometheus,否則在導入dashboard的時候會報錯,‘not found the datasource Prometheus’ ;
 
使用helm chart方式來創建grafana容器,在k8s環境中管理容器更加方便一些。 grafana-deployment.yaml :
首先要先准備好grafana的docker 鏡像:
docker search grafana/grafana ##查找公共的grafana docker 鏡像
docker pull grafana/grafana ##拉取想要的grafana的鏡像版本
docker tag grafana/grafana:latest docker.io/cpro/grafana-grafana:20210223 #將拉取到本地的grafana鏡像修改成我們自定義的名字(docker.io/cpro/grafana-grafana:20210223)
kind: Deployment
apiVersion: apps/v1beta2
metadata:
  labels:
    app: grafana
  name: grafana
  namespace: default
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: grafana
  template:
    metadata:
      labels:
        app: grafana
    spec:
      securityContext:
        runAsNonRoot: true
        runAsUser: 10555
        fsGroup: 10555
      containers:
        - name: grafana
          image: docker.io/cpro/grafana-grafana:20210223
          imagePullPolicy: IfNotPresent
          env:
            - name: GF_AUTH_BASIC_ENABLED
              value: "true"
            - name: GF_AUTH_ANONYMOUS_ENABLED
              value: "false"
          readinessProbe:
            httpGet:
              path: /login
              port: 3000
          volumeMounts:
            - mountPath: /var/lib/grafana
              name: grafana-data-volume
          ports:
            - containerPort: 3000
              protocol: TCP
      volumes:
        - name: grafana-data-volume
          emptyDir: {}
---
kind: Service
apiVersion: v1
metadata:
  labels:
    app: grafana
  name: grafana-service
  namespace: default
spec:
  ports:
    - port: 3000
      targetPort: 3000
  selector:
    app: grafana
  type: NodePort
 
         
         
        使用kubectl create -f grafana-deployment.yaml創建容器,使用下面命令查看部署的情況;
kubectl get deploy
NAME                          READY       UP-TO-DATE        AVAILABLE             AGE
grafana                       1/1         1                 1                     14m
kubectl get po
NAME                          READY   STATUS      RESTARTS   AGE
grafana-64c4bc9485-8ztn7      1/1     Running     0          14m
kubectl get svc
NAME                 TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)           AGE
grafana-service      NodePort    10.254.122.112   <none>        3000:31266/TCP    14m 
        
