influxdb-grafana-controller.yaml 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. kind: Deployment
  2. apiVersion: apps/v1
  3. metadata:
  4. name: monitoring-influxdb-grafana-v4
  5. namespace: kube-system
  6. labels:
  7. k8s-app: influxGrafana
  8. version: v4
  9. addonmanager.kubernetes.io/mode: Reconcile
  10. spec:
  11. replicas: 1
  12. selector:
  13. matchLabels:
  14. k8s-app: influxGrafana
  15. version: v4
  16. template:
  17. metadata:
  18. labels:
  19. k8s-app: influxGrafana
  20. version: v4
  21. annotations:
  22. scheduler.alpha.kubernetes.io/critical-pod: ''
  23. seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
  24. spec:
  25. priorityClassName: system-cluster-critical
  26. tolerations:
  27. - key: node-role.kubernetes.io/master
  28. effect: NoSchedule
  29. - key: "CriticalAddonsOnly"
  30. operator: "Exists"
  31. containers:
  32. - name: influxdb
  33. image: k8s.gcr.io/heapster-influxdb-amd64:v1.3.3
  34. resources:
  35. limits:
  36. cpu: 100m
  37. memory: 500Mi
  38. requests:
  39. cpu: 100m
  40. memory: 500Mi
  41. ports:
  42. - name: http
  43. containerPort: 8083
  44. - name: api
  45. containerPort: 8086
  46. volumeMounts:
  47. - name: influxdb-persistent-storage
  48. mountPath: /data
  49. - name: grafana
  50. image: k8s.gcr.io/heapster-grafana-amd64:v4.4.3
  51. resources:
  52. # keep request = limit to keep this container in guaranteed class
  53. limits:
  54. cpu: 100m
  55. memory: 100Mi
  56. requests:
  57. cpu: 100m
  58. memory: 100Mi
  59. env:
  60. # This variable is required to setup templates in Grafana.
  61. - name: INFLUXDB_SERVICE_URL
  62. value: http://monitoring-influxdb:8086
  63. # The following env variables are required to make Grafana accessible via
  64. # the kubernetes api-server proxy. On production clusters, we recommend
  65. # removing these env variables, setup auth for grafana, and expose the grafana
  66. # service using a LoadBalancer or a public IP.
  67. - name: GF_AUTH_BASIC_ENABLED
  68. value: "false"
  69. - name: GF_AUTH_ANONYMOUS_ENABLED
  70. value: "true"
  71. - name: GF_AUTH_ANONYMOUS_ORG_ROLE
  72. value: Admin
  73. - name: GF_SERVER_ROOT_URL
  74. value: /api/v1/namespaces/kube-system/services/monitoring-grafana/proxy/
  75. ports:
  76. - name: ui
  77. containerPort: 3000
  78. volumeMounts:
  79. - name: grafana-persistent-storage
  80. mountPath: /var
  81. volumes:
  82. - name: influxdb-persistent-storage
  83. emptyDir: {}
  84. - name: grafana-persistent-storage
  85. emptyDir: {}