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 ---