|
@@ -0,0 +1,80 @@
|
|
|
+apiVersion: apps/v1
|
|
|
+kind: Deployment
|
|
|
+metadata:
|
|
|
+ labels:
|
|
|
+ app.kubernetes.io/name: grafana
|
|
|
+ app.kubernetes.io/part-of: ingress-nginx
|
|
|
+
|
|
|
+ name: grafana-new
|
|
|
+ namespace: monitoring
|
|
|
+spec:
|
|
|
+ selector:
|
|
|
+ matchLabels:
|
|
|
+ app.kubernetes.io/name: grafana
|
|
|
+ app.kubernetes.io/part-of: ingress-nginx
|
|
|
+ strategy:
|
|
|
+ rollingUpdate:
|
|
|
+ maxSurge: 1
|
|
|
+ maxUnavailable: 1
|
|
|
+ type: RollingUpdate
|
|
|
+ template:
|
|
|
+ metadata:
|
|
|
+ labels:
|
|
|
+ app.kubernetes.io/name: grafana
|
|
|
+ app.kubernetes.io/part-of: ingress-nginx
|
|
|
+ spec:
|
|
|
+ containers:
|
|
|
+ - image: grafana/grafana
|
|
|
+ name: grafana
|
|
|
+ ports:
|
|
|
+ - containerPort: 3000
|
|
|
+ protocol: TCP
|
|
|
+ resources:
|
|
|
+ limits:
|
|
|
+ cpu: 500m
|
|
|
+ memory: 2500Mi
|
|
|
+ requests:
|
|
|
+ cpu: 100m
|
|
|
+ memory: 100Mi
|
|
|
+ volumeMounts:
|
|
|
+ - mountPath: /var/lib/grafana
|
|
|
+ name: data
|
|
|
+ restartPolicy: Always
|
|
|
+ volumes:
|
|
|
+ - name: data
|
|
|
+ persistentVolumeClaim:
|
|
|
+ claimName: grafana-storage
|
|
|
+---
|
|
|
+kind: PersistentVolumeClaim
|
|
|
+apiVersion: v1
|
|
|
+metadata:
|
|
|
+ name: grafana-storage
|
|
|
+ namespace: monitoring
|
|
|
+spec:
|
|
|
+ accessModes: [ "ReadWriteOnce" ]
|
|
|
+ storageClassName: "gluster-heketi-2"
|
|
|
+ resources:
|
|
|
+ requests:
|
|
|
+ storage: 5Gi
|
|
|
+
|
|
|
+---
|
|
|
+apiVersion: v1
|
|
|
+kind: Service
|
|
|
+metadata:
|
|
|
+ name: grafana-new
|
|
|
+ namespace: monitoring
|
|
|
+ labels:
|
|
|
+ app.kubernetes.io/name: grafana
|
|
|
+ app.kubernetes.io/part-of: ingress-nginx
|
|
|
+
|
|
|
+spec:
|
|
|
+ ports:
|
|
|
+ - port: 3000
|
|
|
+ protocol: TCP
|
|
|
+ targetPort: 3000
|
|
|
+ selector:
|
|
|
+ app.kubernetes.io/name: grafana
|
|
|
+ app.kubernetes.io/part-of: ingress-nginx
|
|
|
+ type: NodePort
|
|
|
+
|
|
|
+---
|