grafana updates

This commit is contained in:
marcel-dempers 2020-02-04 20:44:16 +11:00
parent 33907264a2
commit 6ebb169ee2
4 changed files with 275 additions and 132 deletions

View File

@ -1,102 +1,203 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: grafana-app
labels:
app: grafana
name: grafana
namespace: monitoring
spec:
replicas: 1
selector:
matchLabels:
app: grafana-app
app: grafana
template:
metadata:
labels:
app: grafana-app
app: grafana
spec:
volumes:
- name: grafana-datasource-provisioning
configMap:
name: grafana-datasource-provisioning
- name: grafana-dashboard-provisioning
configMap:
name: grafana-dashboard-provisioning
- name: grafana-dashboard-node-rsrc-use
configMap:
name: grafana-dashboard-node-rsrc-use
- name: grafana-dashboard-node-cluster-rsrc-use
configMap:
name: grafana-dashboard-node-cluster-rsrc-use
- name: grafana-dashboard-k8s-resources-cluster
configMap:
name: grafana-dashboard-k8s-resources-cluster
- name: grafana-dashboard-k8s-resources-namespace
configMap:
name: grafana-dashboard-k8s-resources-namespace
- name : grafana-dashboard-k8s-resources-pod
configMap:
name: grafana-dashboard-k8s-resources-pod
- name: grafana-dashboard-k8s-resources-workload
configMap:
name: grafana-dashboard-k8s-resources-workload
- name: grafana-dashboard-k8s-resources-workloads-namespace
configMap:
name: grafana-dashboard-k8s-resources-workloads-namespace
- name: grafana-dashboard-kubelet
configMap:
name: grafana-dashboard-kubelet
- name: grafana-dashboard-nodes
configMap:
name: grafana-dashboard-nodes
- name: grafana-dashboard-pods
configMap:
name: grafana-dashboard-pods
containers:
- name: grafana-app
image: grafana/grafana:6.4.3
- image: grafana/grafana:6.6.0
name: grafana
ports:
- name: web
containerPort: 3000
- containerPort: 3000
name: http
readinessProbe:
httpGet:
path: /api/health
port: http
# resources:
# limits:
# cpu: 200m
# memory: 200Mi
# requests:
# cpu: 100m
# memory: 100Mi
volumeMounts:
- name: grafana-datasource-provisioning
mountPath: /etc/grafana/provisioning/datasources/
- name: grafana-dashboard-provisioning
mountPath: /etc/grafana/provisioning/dashboards/
- name: grafana-dashboard-node-rsrc-use
mountPath: /var/lib/grafana/dashboards/kubernetes/node-rsrc-use.json
subPath: node-rsrc-use.json
- name: grafana-dashboard-node-cluster-rsrc-use
mountPath: /var/lib/grafana/dashboards/kubernetes/node-cluster-rsrc-use.json
subPath: node-cluster-rsrc-use.json
- name: grafana-dashboard-k8s-resources-cluster
mountPath: /var/lib/grafana/dashboards/kubernetes/k8s-resources-cluster.json
subPath: k8s-resources-cluster.json
- name: grafana-dashboard-k8s-resources-namespace
mountPath: /var/lib/grafana/dashboards/kubernetes/k8s-resources-namespace.json
subPath: k8s-resources-namespace.json
- name: grafana-dashboard-k8s-resources-pod
mountPath: /var/lib/grafana/dashboards/kubernetes/k8s-resources-pod.json
subPath: k8s-resources-pod.json
- name: grafana-dashboard-k8s-resources-workload
mountPath: /var/lib/grafana/dashboards/kubernetes/k8s-resources-workload.json
subPath: k8s-resources-workload.json
- name: grafana-dashboard-k8s-resources-workloads-namespace
mountPath: /var/lib/grafana/dashboards/kubernetes/k8s-resources-workloads-namespace.json
subPath: k8s-resources-workloads-namespace.json
- name: grafana-dashboard-kubelet
mountPath: /var/lib/grafana/dashboards/kubernetes/kubelet.json
subPath: kubelet.json
- name: grafana-dashboard-nodes
mountPath: /var/lib/grafana/dashboards/kubernetes/nodes.json
subPath: nodes.json
- name: grafana-dashboard-pods
mountPath: /var/lib/grafana/dashboards/kubernetes/pods.json
subPath: pods.json
- mountPath: /var/lib/grafana
name: grafana-storage
readOnly: false
- mountPath: /etc/grafana/provisioning/datasources
name: grafana-datasources
readOnly: false
- mountPath: /etc/grafana/provisioning/dashboards
name: grafana-dashboards
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/apiserver
name: grafana-dashboard-apiserver
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/cluster-total
name: grafana-dashboard-cluster-total
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/controller-manager
name: grafana-dashboard-controller-manager
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/k8s-resources-cluster
name: grafana-dashboard-k8s-resources-cluster
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/k8s-resources-namespace
name: grafana-dashboard-k8s-resources-namespace
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/k8s-resources-node
name: grafana-dashboard-k8s-resources-node
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/k8s-resources-pod
name: grafana-dashboard-k8s-resources-pod
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/k8s-resources-workload
name: grafana-dashboard-k8s-resources-workload
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/k8s-resources-workloads-namespace
name: grafana-dashboard-k8s-resources-workloads-namespace
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/kubelet
name: grafana-dashboard-kubelet
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/namespace-by-pod
name: grafana-dashboard-namespace-by-pod
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/namespace-by-workload
name: grafana-dashboard-namespace-by-workload
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/node-cluster-rsrc-use
name: grafana-dashboard-node-cluster-rsrc-use
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/node-rsrc-use
name: grafana-dashboard-node-rsrc-use
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/nodes
name: grafana-dashboard-nodes
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/persistentvolumesusage
name: grafana-dashboard-persistentvolumesusage
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/pod-total
name: grafana-dashboard-pod-total
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/pods
name: grafana-dashboard-pods
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/prometheus-remote-write
name: grafana-dashboard-prometheus-remote-write
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/prometheus
name: grafana-dashboard-prometheus
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/proxy
name: grafana-dashboard-proxy
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/scheduler
name: grafana-dashboard-scheduler
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/statefulset
name: grafana-dashboard-statefulset
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/workload-total
name: grafana-dashboard-workload-total
readOnly: false
nodeSelector:
beta.kubernetes.io/os: linux
securityContext:
runAsNonRoot: true
runAsUser: 65534
serviceAccountName: grafana
volumes:
- emptyDir: {}
name: grafana-storage
- configMap:
name: grafana-datasources
name: grafana-datasources
- configMap:
name: grafana-dashboards
name: grafana-dashboards
- configMap:
name: grafana-dashboard-apiserver
name: grafana-dashboard-apiserver
- configMap:
name: grafana-dashboard-cluster-total
name: grafana-dashboard-cluster-total
- configMap:
name: grafana-dashboard-controller-manager
name: grafana-dashboard-controller-manager
- configMap:
name: grafana-dashboard-k8s-resources-cluster
name: grafana-dashboard-k8s-resources-cluster
- configMap:
name: grafana-dashboard-k8s-resources-namespace
name: grafana-dashboard-k8s-resources-namespace
- configMap:
name: grafana-dashboard-k8s-resources-node
name: grafana-dashboard-k8s-resources-node
- configMap:
name: grafana-dashboard-k8s-resources-pod
name: grafana-dashboard-k8s-resources-pod
- configMap:
name: grafana-dashboard-k8s-resources-workload
name: grafana-dashboard-k8s-resources-workload
- configMap:
name: grafana-dashboard-k8s-resources-workloads-namespace
name: grafana-dashboard-k8s-resources-workloads-namespace
- configMap:
name: grafana-dashboard-kubelet
name: grafana-dashboard-kubelet
- configMap:
name: grafana-dashboard-namespace-by-pod
name: grafana-dashboard-namespace-by-pod
- configMap:
name: grafana-dashboard-namespace-by-workload
name: grafana-dashboard-namespace-by-workload
- configMap:
name: grafana-dashboard-node-cluster-rsrc-use
name: grafana-dashboard-node-cluster-rsrc-use
- configMap:
name: grafana-dashboard-node-rsrc-use
name: grafana-dashboard-node-rsrc-use
- configMap:
name: grafana-dashboard-nodes
name: grafana-dashboard-nodes
- configMap:
name: grafana-dashboard-persistentvolumesusage
name: grafana-dashboard-persistentvolumesusage
- configMap:
name: grafana-dashboard-pod-total
name: grafana-dashboard-pod-total
- configMap:
name: grafana-dashboard-pods
name: grafana-dashboard-pods
- configMap:
name: grafana-dashboard-prometheus-remote-write
name: grafana-dashboard-prometheus-remote-write
- configMap:
name: grafana-dashboard-prometheus
name: grafana-dashboard-prometheus
- configMap:
name: grafana-dashboard-proxy
name: grafana-dashboard-proxy
- configMap:
name: grafana-dashboard-scheduler
name: grafana-dashboard-scheduler
- configMap:
name: grafana-dashboard-statefulset
name: grafana-dashboard-statefulset
- configMap:
name: grafana-dashboard-workload-total
name: grafana-dashboard-workload-total

View File

@ -1,12 +1,13 @@
kind: Service
apiVersion: v1
kind: Service
metadata:
name: grafana-app
labels:
app: grafana-app
app: grafana
name: grafana
spec:
selector:
app: grafana-app
ports:
- name: web
- name: http
port: 3000
targetPort: http
selector:
app: grafana

View File

@ -1,39 +1,75 @@
# apiVersion: v1
# items:
# - apiVersion: v1
# kind: ConfigMap
# metadata:
# name: grafana-dashboard-provisioning
# namespace: monitoring
# data:
# dashboard.yaml: |-
# apiVersion: 1
# providers:
# - name: 'kubernetes'
# orgId: 1
# # <string, required> name of the dashboard folder. Required
# folder: 'kubernetes'
# type: file
# disableDeletion: true
# editable: true
# # <int> how often Grafana will scan for changed dashboards
# updateIntervalSeconds: 30
# options:
# path: /var/lib/grafana/dashboards
# - apiVersion: v1
# kind: ConfigMap
# metadata:
# name: grafana-datasource-provisioning
# namespace: monitoring
# data:
# datasources.yaml: |-
# apiVersion: 1
# datasources:
# - name: prometheus
# orgId: 1
# type: prometheus
# url: http://prometheus-service:9090
# isDefault: true
# access: proxy
# editable: true
# kind: ConfigMapList
apiVersion: v1
items:
- apiVersion: v1
kind: ConfigMap
metadata:
name: grafana-dashboard-provisioning
namespace: monitoring
data:
dashboard.yaml: |-
apiVersion: 1
providers:
- name: 'kubernetes'
orgId: 1
# <string, required> name of the dashboard folder. Required
folder: 'kubernetes'
type: file
disableDeletion: true
editable: true
# <int> how often Grafana will scan for changed dashboards
updateIntervalSeconds: 30
options:
path: /var/lib/grafana/dashboards
- apiVersion: v1
kind: ConfigMap
metadata:
name: grafana-datasource-provisioning
namespace: monitoring
data:
datasources.yaml: |-
apiVersion: 1
datasources:
- name: prometheus
orgId: 1
type: prometheus
url: http://prometheus-service:9090
isDefault: true
access: proxy
editable: true
kind: ConfigMapList
kind: ConfigMap
metadata:
name: grafana-datasources
data:
datasources.yaml: |-
apiVersion: 1
datasources:
- name: prometheus
orgId: 1
type: prometheus
url: http://prometheus-service:9090
isDefault: true
access: proxy
editable: true
---
apiVersion: v1
kind: ConfigMap
metadata:
name: grafana-dashboards
data:
dashboards.yaml: |-
{
"apiVersion": 1,
"providers": [
{
"folder": "",
"name": "0",
"options": {
"path": "/grafana-dashboard-definitions/0"
},
"orgId": 1,
"type": "file"
}
]
}

View File

@ -0,0 +1,5 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: grafana