From c70b422bef075a7d8d808c2bfcd5c26d23357b23 Mon Sep 17 00:00:00 2001 From: ducoterra Date: Tue, 19 May 2020 21:21:50 -0400 Subject: [PATCH] init --- docker-compose.yaml | 18 ++++++++++++++++++ k8s/deploy.yaml | 33 +++++++++++++++++++++++++++++++++ k8s/ingress.yaml | 39 +++++++++++++++++++++++++++++++++++++++ k8s/pvc/pvc.yaml | 11 +++++++++++ k8s/service.yaml | 11 +++++++++++ 5 files changed, 112 insertions(+) create mode 100644 docker-compose.yaml create mode 100644 k8s/deploy.yaml create mode 100644 k8s/ingress.yaml create mode 100644 k8s/pvc/pvc.yaml create mode 100644 k8s/service.yaml diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..8b5f057 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,18 @@ +version: '3' + +services: + grafana: + image: grafana/grafana + ports: + - 3000:3000 + volumes: + - grafana-data:/var/lib/grafana + networks: + - graphite_data-net + +networks: + graphite_data-net: + external: true + +volumes: + grafana-data: \ No newline at end of file diff --git a/k8s/deploy.yaml b/k8s/deploy.yaml new file mode 100644 index 0000000..5af5723 --- /dev/null +++ b/k8s/deploy.yaml @@ -0,0 +1,33 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: grafana +spec: + replicas: 1 + selector: + matchLabels: + app: grafana + template: + metadata: + labels: + app: grafana + spec: + containers: + - name: grafana + image: grafana/grafana + resources: + requests: + memory: 256Mi + cpu: 100m + limits: + memory: 1Gi + cpu: '1' + ports: + - containerPort: 3000 + volumeMounts: + - mountPath: /var/lib/grafana + name: grafana-data + volumes: + - name: grafana-data + persistentVolumeClaim: + claimName: grafana-data \ No newline at end of file diff --git a/k8s/ingress.yaml b/k8s/ingress.yaml new file mode 100644 index 0000000..01429fb --- /dev/null +++ b/k8s/ingress.yaml @@ -0,0 +1,39 @@ +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: grafana-internal-tls + annotations: + kubernetes.io/ingress.class: traefik-internal +spec: + entryPoints: + - websecure + tls: + certResolver: myresolver + domains: + - main: "*.ducoterra.net" + routes: + - match: Host(`grafana.ducoterra.net`) + kind: Rule + services: + - name: grafana-web + port: 3000 + +--- + +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: grafana-internal-web + annotations: + kubernetes.io/ingress.class: traefik-internal +spec: + entryPoints: + - web + routes: + - match: Host(`grafana.ducoterra.net`) + kind: Rule + services: + - name: grafana-web + port: 3000 + middlewares: + - name: httpsredirect \ No newline at end of file diff --git a/k8s/pvc/pvc.yaml b/k8s/pvc/pvc.yaml new file mode 100644 index 0000000..1338b0b --- /dev/null +++ b/k8s/pvc/pvc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: grafana-data +spec: + storageClassName: nfs-encrypted + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 16Gi \ No newline at end of file diff --git a/k8s/service.yaml b/k8s/service.yaml new file mode 100644 index 0000000..1a172f5 --- /dev/null +++ b/k8s/service.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: grafana-web +spec: + selector: + app: grafana + ports: + - port: 3000 + targetPort: 3000 + type: ClusterIP \ No newline at end of file