如何在kubernetes中安装grafana插件?
我正在kubernetes集群(v1.15.2)中部署grafana(6.6.0),现在我想在grafana中安装饼图插件。当我不在docker中时,我可以使用此命令安装:如何在kubernetes中安装grafana插件?,kubernetes,Kubernetes,我正在kubernetes集群(v1.15.2)中部署grafana(6.6.0),现在我想在grafana中安装饼图插件。当我不在docker中时,我可以使用此命令安装: grafana-cli plugins install grafana-piechart-panel 但是现在我在kubernetes集群中,我可以登录到pod并运行install命令,但是当pod被销毁并重新创建时,安装历史就丢失了。我应该如何在kubernetes集群grafana中永久安装插件?我曾尝试在yaml中这
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"
}
],
对我来说不起作用。添加环境变量
GF\u INSTALL\u PLUGINS=grafana piechart panel,grafana clock panel
将在容器世界为您安装插件
请参阅的最新版本中的插件列表,插件列表可以在中作为列表传递
使用永久磁盘并装入/var/lib/grafana。 插件位于/var/lib/grafana/Plugins中。
容器重新启动后,数据将保持不变。以下是我在部署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
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