aboutsummaryrefslogtreecommitdiffstats
path: root/kubernetes/namespaces/default/graphite
diff options
context:
space:
mode:
Diffstat (limited to 'kubernetes/namespaces/default/graphite')
-rw-r--r--kubernetes/namespaces/default/graphite/README.md11
-rw-r--r--kubernetes/namespaces/default/graphite/deployment.yaml38
-rw-r--r--kubernetes/namespaces/default/graphite/service.yaml15
-rw-r--r--kubernetes/namespaces/default/graphite/volume.yaml13
4 files changed, 77 insertions, 0 deletions
diff --git a/kubernetes/namespaces/default/graphite/README.md b/kubernetes/namespaces/default/graphite/README.md
new file mode 100644
index 0000000..1d14e36
--- /dev/null
+++ b/kubernetes/namespaces/default/graphite/README.md
@@ -0,0 +1,11 @@
+# Graphite
+
+These files provision an instance of the [graphite-statsd](https://hub.docker.com/r/graphiteapp/graphite-statsd/) image.
+
+The following ports are exposed by the service:
+
+**80**: NGINX
+**8125**: StatsD Ingest
+**8126**: StatsD Admin
+
+There is a 10Gi persistent volume mounted at `/opt/graphite/storage` which holds our statistic data.
diff --git a/kubernetes/namespaces/default/graphite/deployment.yaml b/kubernetes/namespaces/default/graphite/deployment.yaml
new file mode 100644
index 0000000..17c66f8
--- /dev/null
+++ b/kubernetes/namespaces/default/graphite/deployment.yaml
@@ -0,0 +1,38 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: graphite
+spec:
+ replicas: 1
+ strategy:
+ type: Recreate
+ selector:
+ matchLabels:
+ app: graphite
+ template:
+ metadata:
+ labels:
+ app: graphite
+ spec:
+ containers:
+ - name: graphite
+ image: graphiteapp/graphite-statsd:latest
+ imagePullPolicy: Always
+ resources:
+ requests:
+ cpu: 200m
+ memory: 500Mi
+ limits:
+ cpu: 1000m
+ memory: 750Mi
+ ports:
+ - containerPort: 80
+ - containerPort: 8125
+ - containerPort: 8126
+ volumeMounts:
+ - mountPath: /opt/graphite/storage
+ name: graphite-volume
+ volumes:
+ - name: graphite-volume
+ persistentVolumeClaim:
+ claimName: graphite-storage
diff --git a/kubernetes/namespaces/default/graphite/service.yaml b/kubernetes/namespaces/default/graphite/service.yaml
new file mode 100644
index 0000000..599dcdb
--- /dev/null
+++ b/kubernetes/namespaces/default/graphite/service.yaml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: graphite
+spec:
+ ports:
+ - port: 80
+ name: nginx
+ - port: 8125
+ name: statsd
+ protocol: UDP
+ - port: 8126
+ name: statsd-admin
+ selector:
+ app: graphite
diff --git a/kubernetes/namespaces/default/graphite/volume.yaml b/kubernetes/namespaces/default/graphite/volume.yaml
new file mode 100644
index 0000000..ebb830a
--- /dev/null
+++ b/kubernetes/namespaces/default/graphite/volume.yaml
@@ -0,0 +1,13 @@
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: graphite-storage
+ labels:
+ app: graphite
+spec:
+ storageClassName: linode-block-storage-retain
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 30Gi