From 03aa53d86eaf30f4cec8e291fbafd7fa6d970cb5 Mon Sep 17 00:00:00 2001 From: Evan Jones Date: Mon, 4 Mar 2024 07:28:26 -0500 Subject: [PATCH] adds needed volumes to eks deployment spec and improves getting started documentation by noting minio dependency (#149) --- docs/getting_started.md | 4 +-- examples/aws/eks.yaml | 68 ++++++++++++++++++++++++----------------- 2 files changed, 42 insertions(+), 30 deletions(-) diff --git a/docs/getting_started.md b/docs/getting_started.md index 21c2fcba..cc35f41a 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -59,8 +59,8 @@ kubectl apply -f examples/tiny-cluster-zk.yaml kubectl apply -f examples/tiny-cluster.yaml ``` -`NOTE:` that above tiny-cluster only works on a single node kubernetes cluster(e.g. typical k8s cluster setup for dev -using kind or minikube) as it uses local disk as "deep storage". +`NOTE:` the above tiny-cluster only works on a single node kubernetes cluster (e.g. typical k8s cluster setup for dev +using kind or minikube) as it uses local disk as "deep storage". Other example specs in the `examples/` directory use distributed "deep storage" and therefore expect to be deployed into a k8s cluster with s3-compatible storage. To bootstrap your k8s cluster with s3-compatible storage, you can run `make helm-minio-install`. See the [Makefile](../Makefile) for more details. ## Debugging Problems diff --git a/examples/aws/eks.yaml b/examples/aws/eks.yaml index 801cc11a..26fda3aa 100644 --- a/examples/aws/eks.yaml +++ b/examples/aws/eks.yaml @@ -248,6 +248,18 @@ spec: "[MEM] Response Rate: Success"], "type" : "count" } } + volumeMounts: + - mountPath: /druid/data + name: data-volume + - mountPath: /druid/deepstorage + name: deepstorage-volume + volumes: + - name: data-volume + emptyDir: {} + - name: deepstorage-volume + hostPath: + path: /tmp/druid/deepstorage + type: DirectoryOrCreate env: - name: POD_NAME valueFrom: @@ -266,7 +278,7 @@ spec: # Optionally specify for broker nodes # imagePullSecrets: # - name: tutu - priorityClassName: system-cluster-critical + priorityClassName: system-cluster-critical druid.port: 8088 services: - spec: @@ -275,15 +287,15 @@ spec: nodeConfigMountPath: "/opt/druid/conf/druid/cluster/query/broker" replicas: 1 volumeClaimTemplates: - - metadata: - name: data-volume - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 2Gi - storageClassName: gp2 + - metadata: + name: data-volume + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi + storageClassName: gp2 runtime.properties: | druid.service=druid/broker # HTTP server threads @@ -340,15 +352,15 @@ spec: -Xmx512m -Xms512m volumeClaimTemplates: - - metadata: - name: data-volume - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 2Gi - storageClassName: gp2 + - metadata: + name: data-volume + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi + storageClassName: gp2 routers: nodeType: "router" @@ -399,21 +411,21 @@ kind: Role metadata: name: druid-cluster rules: -- apiGroups: - - "" - resources: - - pods - - configmaps - verbs: - - '*' + - apiGroups: + - "" + resources: + - pods + - configmaps + verbs: + - "*" --- kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: druid-cluster subjects: -- kind: ServiceAccount - name: default + - kind: ServiceAccount + name: default roleRef: kind: Role name: druid-cluster