【问题标题】:How to install grafana plugin in kubernetes?如何在 kubernetes 中安装 grafana 插件?
【发布时间】:2020-06-21 06:34:01
【问题描述】:

我正在 kubernetes 集群(v1.15.2) 中部署 grafana(6.6.0),现在我想在 grafana 中安装饼图插件。当我不在 docker 中时,我可以使用这个命令来安装:

grafana-cli plugins install grafana-piechart-panel

但是现在我在 kubernetes 集群中,我可以登录到 pod 并运行 install 命令,但是当 pod 被销毁并重新创建时,安装历史记录丢失了。在 kubernetes 集群 grafana 中永久安装插件应该怎么做?我试图在 yaml 中这样定义:

"name": "grafana",
            "image": "grafana/grafana:6.6.0",
            "ports": [
              {
                "name": "http",
                "containerPort": 3000,
                "protocol": "TCP"
              }
            ],
            "env": [
              {
                "name": "GF_INSTALL_PLUGINS",
                "value": "grafana-piechart-panel"
              }
            ],

对我不起作用。

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    添加环境变量GF_INSTALL_PLUGINS=grafana-piechart-panel,grafana-clock-panel 将为您在容器世界中安装插件

    参考https://grafana.com/docs/grafana/latest/installation/docker/#install-plugins-in-the-docker-container

    【讨论】:

      【解决方案2】:

      Grafana helm chart的最新版本中,插件列表可以作为values.yaml中的列表传递

      ## Pass the plugins you want installed as a list.
      ##
      plugins: []
        # - digrich-bubblechart-panel
        # - grafana-clock-panel
      

      【讨论】:

        【解决方案3】:

        使用永久性磁盘并挂载 /var/lib/grafana。 插件存在于 /var/lib/grafana/plugins 中。 容器重启后数据会持续存在。

        【讨论】:

          【解决方案4】:

          在部署 Grafana 7.x 和具有持久存储的插件时,这对我有用。

          apiVersion: v1
          kind: ConfigMap
          metadata:
                  name: grafana-config
                  labels:
                          apps: grafana
          data:
                  GF_INSTALL_PLUGINS: grafana-piechart-panel,grafana-clock-panel, redis-datasource, doitintl-bigquery-datasource, grafana-simple-json-datasource, ae3e-plotly-panel,redis-app
          ---
          apiVersion: v1
          kind: PersistentVolume
          metadata:
                  name: grafana-pv
                  labels:
                          type: local
                          app: grafana
          spec:
                  storageClassName: standard
                  capacity:
                          storage: 5Gi
                  accessModes:
                          - ReadWriteMany
                  hostPath:
                          path: "/mnt/grafana"
          ---
          apiVersion: v1
          kind: PersistentVolumeClaim
          metadata:
                  name: grafana-pv-claim
                  labels:
                          apps: grafana
          spec:
                  storageClassName: standard
                  accessModes:
                          - ReadWriteMany
                  resources:
                          requests:
                                  storage: 5Gi
          ---
          apiVersion: v1
          kind: Service
          metadata:
                  name: grafana
                  labels:
                          apps: grafana
          spec:
                  type: NodePort
                  ports:
                          - nodePort: 30081
                            targetPort: 3000
                            port: 3000
                  selector:
                          app: grafana
          ---
          apiVersion: apps/v1
          kind: Deployment
          metadata:
                  name: grafana-deployment
                  labels:
                          app: grafana
          spec:
                  replicas: 1
                  selector:
                          matchLabels:
                                  app: grafana
                  template:
                          metadata:
                                  labels:
                                          app: grafana
                          spec:
                                  containers:
                                          - name: grafana
                                            image: docker.io/grafana/grafana:7.4.0
                                            envFrom:
                                                    - configMapRef:
                                                            name: grafana-config
                                            imagePullPolicy: IfNotPresent
                                            volumeMounts:
                                                    - mountPath: /var/lib/grafana
                                                      name: grafana
                                            ports:
                                                    - containerPort: 3000
                                  securityContext:
                                          fsGroup: 472
                                          runAsUser: 0
                                  volumes:
                                          - name: grafana
                                            persistentVolumeClaim:
                                                    claimName: grafana-pv-claim
                                                  
          

          【讨论】:

            猜你喜欢
            • 2021-06-14
            • 1970-01-01
            • 1970-01-01
            • 2019-06-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多