apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: grafana | |
labels: | |
app: grafana | |
component: mon | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
app: grafana | |
component: mon | |
spec: | |
volumes: | |
- name: grafana-volume | |
gcePersistentDisk: | |
# This disk must already exist. | |
pdName: grafana-volume | |
fsType: ext4 | |
containers: | |
- image: grafana/grafana:4.5.2 | |
name: grafana | |
ports: | |
- containerPort: 8080 | |
resources: | |
# keep request = limit to keep this container in guaranteed class | |
limits: | |
cpu: 100m | |
memory: 100Mi | |
requests: | |
cpu: 100m | |
memory: 100Mi | |
env: | |
# This variable is required to setup templates in Grafana. | |
# The following env variables are required to make Grafana accessible via | |
# the kubernetes api-server proxy. On production clusters, we recommend | |
# removing these env variables, setup auth for grafana, and expose the grafana | |
# service using a LoadBalancer or a public IP. | |
- name: GF_AUTH_BASIC_ENABLED | |
value: "false" | |
- name: GF_AUTH_ANONYMOUS_ENABLED | |
value: "true" | |
- name: GF_AUTH_ANONYMOUS_ORG_ROLE | |
value: admin | |
volumeMounts: | |
- name: grafana-volume | |
mountPath: /var/lib/grafana | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: grafana | |
labels: | |
app: grafana | |
component: mon | |
spec: | |
selector: | |
app: grafana | |
component: mon | |
ports: | |
- name: grafana | |
protocol: TCP | |
port: 3000 | |
targetPort: 3000 |