Je cours grafana en tant que pod dans mon cluster Kubernetes. Une fois Grafana initialisé, il crée une base de données sur localhost et y enregistre toutes les données. Cela signifie que chaque fois qu'un pod est détruit et recréé, la base de données entière est réinitialisée et je perds toutes les données précédentes.Modifier le fichier de configuration à l'intérieur de l'image avant le déploiement/la création du pod
La configuration grafana à l'intérieur du Pod DB est ::
#################################### Database ####################################
[database]
# Either "mysql", "postgres" or "sqlite3", it's your choice
;type = sqlite3
;host = 127.0.0.1:3306
;name = grafana
;user = root
;password =
Inorder pour se débarrasser de ce problème, je dois créer un DB externe et pointer mon Grafana d'utiliser cette instance DB chaque fois que je crée la Grafana Pod. Ma mise en œuvre par défaut en cours pour créer le pod Grafana est ::
apiVersion: v1
kind: Service
metadata:
name: lb-grafana-service
spec:
ports:
- port: 4545
targetPort: 4545
protocol: TCP
clusterIP: 10.100.10.100
----
apiVersion: v1
kind: Service
metadata:
annotations:
prometheus.io/scrape: 'true'
labels:
app: grafana
name: grafana
name: grafana
spec:
ports:
- name: scrape
port: 4545
nodePort: 30999
protocol: TCP
type: NodePort
selector:
app: grafana
----
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: grafana
spec:
replicas: 1
selector:
matchLabels:
app: grafana
template:
metadata:
name: grafana
labels:
app: grafana
spec:
containers:
- name: grafana
image: grafana/grafana:develop
env:
- name: Prometheus_SERVICE_URL
value: http://172.29.219.105:30901
- name: GF_SECURITY_ADMIN_PASSWORD
value: "grafana"
- name: GF_SERVER_HTTP_PORT
value: "4545"
ports:
- containerPort: 9101
volumeMounts:
- mountPath: /var
name: grafana-storage
volumes:
- name: grafana-storage
emptyDir: {}
Donc ce que je veux faire est de remplacer le fichier /etc/grafana/grafana.ini
avant pod Grafana est en ligne ou tout simplement réécrire le fichier en cours avec de nouvelles valeurs. Je n'ai aucune idée de comment je peux le faire maintenant. Un peu d'orientation sera très appréciée.
Vous pouvez utiliser [cartes de configuration] (https://kubernetes.io/docs/tasks/configure-pod-container/configmap /) pour ça. Téléchargez le 'grafana.ini' entier dans une carte de configuration et montez-le dans le pod grafana. – fishi
Merci. On dirait que ça va faire le travail pour moi. –