这里有一个小问题,截图中的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

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐