Skip to content

Commit

Permalink
Fix errors
Browse files Browse the repository at this point in the history
Signed-off-by: Tapajit Chandra Paul <[email protected]>
  • Loading branch information
tapojit047 committed Nov 12, 2024
1 parent 8e6c656 commit b4b2cd8
Show file tree
Hide file tree
Showing 93 changed files with 1,108 additions and 171 deletions.
2 changes: 1 addition & 1 deletion docs/guides/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ aliases:
# Guides

Guides to show you how to perform tasks with KubeDB:
- [Druid](/docs/guides/kafka/README.md). Shows how to manage Druid using KubeDB.
- [Druid](/docs/guides/druid/README.md). Shows how to manage Druid using KubeDB.
- [Elasticsearch](/docs/guides/elasticsearch/README.md). Shows how to manage Elasticsearch & OpenSearch using KubeDB.
- [Kafka](/docs/guides/kafka/README.md). Shows how to manage Kafka using KubeDB.
- [FerretDB](/docs/guides/ferretdb/README.md). Shows how to manage FerretDB using KubeDB.
Expand Down
54 changes: 30 additions & 24 deletions docs/guides/druid/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,28 +18,36 @@ aliases:
## Supported Druid Features


| Features | Availability |
|----------------------------------------------------------------------------|:------------:|
| Clustering | &#10003; |
| Druid Dependency Management (MySQL, PostgreSQL and ZooKeeper) | &#10003; |
| Authentication & Authorization | &#10003; |
| Custom Configuration | &#10003; |
| Backup/Recovery: Instant, Scheduled ( [KubeStash](https://kubestash.com/)) | &#10003; |
| Monitoring with Prometheus & Grafana | &#10003; |
| Builtin Prometheus Discovery | &#10003; |
| Using Prometheus operator | &#10003; |
| Externally manageable Auth Secret | &#10003; |
| Reconfigurable Health Checker | &#10003; |
| Persistent volume | &#10003; |
| Dashboard ( Druid Web Console ) | &#10003; |
| Features | Availability |
|------------------------------------------------------------------------------------|:-----:|
| Clustering | &#10003; |
| Druid Dependency Management (MySQL, PostgreSQL and ZooKeeper) | &#10003; |
| Authentication & Authorization | &#10003; |
| Custom Configuration | &#10003; |
| Backup/Recovery: Instant, Scheduled ( [KubeStash](https://kubestash.com/)) | &#10003; |
| Monitoring with Prometheus & Grafana | &#10003; |
| Builtin Prometheus Discovery | &#10003; |
| Using Prometheus operator | &#10003; |
| Externally manageable Auth Secret | &#10003; |
| Reconfigurable Health Checker | &#10003; |
| Persistent volume | &#10003; |
| Dashboard ( Druid Web Console ) | &#10003; |
| Automated Version Update | &#10003; |
| Automatic Vertical Scaling | &#10003; |
| Automated Horizontal Scaling | &#10003; |
| Automated db-configure Reconfiguration | &#10003; |
| TLS: Add, Remove, Update, Rotate ( [Cert Manager](https://cert-manager.io/docs/) ) | &#10003; |
| Automated Reprovision | &#10003; |
| Automated Volume Expansion | &#10003; |
| Autoscaling (vertically) | &#10003; |

## Supported Druid Versions

KubeDB supports The following Druid versions.
- `28.0.1`
- `30.0.1`

> The listed DruidVersions are tested and provided as a part of the installation process (ie. catalog chart), but you are open to create your own [DruidVersion](/docs/guides/druid/concepts/catalog.md) object with your custom Druid image.
> The listed DruidVersions are tested and provided as a part of the installation process (ie. catalog chart), but you are open to create your own [DruidVersion](/docs/guides/druid/concepts/druidversion.md) object with your custom Druid image.
## Lifecycle of Druid Object

Expand All @@ -53,13 +61,11 @@ ref : https://cacoo.com/diagrams/bbB63L6KRIbPLl95/9A5B0

## User Guide
- [Quickstart Druid](/docs/guides/druid/quickstart/guide/index.md) with KubeDB Operator.

[//]: # (- Druid Clustering supported by KubeDB)

[//]: # ( - [Topology Clustering]&#40;/docs/guides/druid/clustering/topology-cluster/index.md&#41;)

[//]: # (- Use [kubedb cli]&#40;/docs/guides/druid/cli/cli.md&#41; to manage databases like kubectl for Kubernetes.)

- [Druid Clustering](/docs/guides/druid/clustering/overview/index.md) with KubeDB Operator.
- [Backup & Restore](/docs/guides/druid/backup/overview/index.md) Druid databases using KubeStash.
- Start [Druid with Custom Config](/docs/guides/druid/configuration/_index.md).
- Monitor your Druid database with KubeDB using [out-of-the-box Prometheus operator](/docs/guides/druid/monitoring/using-prometheus-operator.md).
- Monitor your Druid database with KubeDB using [out-of-the-box builtin-Prometheus](/docs/guides/druid/monitoring/using-builtin-prometheus.md).
- Detail concepts of [Druid object](/docs/guides/druid/concepts/druid.md).

[//]: # (- Want to hack on KubeDB? Check our [contribution guidelines]&#40;/docs/CONTRIBUTING.md&#41;.)
- Detail concepts of [DruidVersion object](/docs/guides/druid/concepts/druidversion.md).
- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md).
2 changes: 1 addition & 1 deletion docs/guides/druid/autoscaler/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ menu:
identifier: guides-druid-autoscaler
name: Autoscaling
parent: guides-druid
weight: 46
weight: 100
menu_name: docs_{{ .version }}
---
6 changes: 3 additions & 3 deletions docs/guides/druid/autoscaler/compute/guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
title: Druid Topology Autoscaling
menu:
docs_{{ .version }}:
identifier: guides-druid-autoscaler-guide
name: Topology Cluster
parent: guides-druid-autoscaler
identifier: guides-druid-autoscaler-compute-guide
name: Druid Compute Autoscaling
parent: guides-druid-autoscaler-compute
weight: 20
menu_name: docs_{{ .version }}
section_menu_id: guides
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/druid/autoscaler/compute/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Druid Compute Autoscaling Overview
menu:
docs_{{ .version }}:
identifier: guides-druid-autoscaler-compute-guide
identifier: guides-druid-autoscaler-compute-overview
name: Overview
parent: guides-druid-autoscaler-compute
weight: 10
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/druid/autoscaler/storage/guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Druid Topology Autoscaling
menu:
docs_{{ .version }}:
identifier: guides-druid-autoscaler-storage-guide
name: Topology Cluster
name: Druid Storage Autoscaling
parent: guides-druid-autoscaler-storage
weight: 20
menu_name: docs_{{ .version }}
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/druid/autoscaler/storage/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Druid Storage Autoscaling Overview
menu:
docs_{{ .version }}:
identifier: guides-druid-autoscaler-storage-guide
identifier: guides-druid-autoscaler-storage-overview
name: Overview
parent: guides-druid-autoscaler-storage
weight: 10
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/druid/clustering/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Druid Clustering
menu:
docs_{{ .version }}:
identifier: guides-druid-clustering
name: Druid Clustering
name: Clustering
parent: guides-druid
weight: 30
menu_name: docs_{{ .version }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
title: Druid Topology Cluster Guide
menu:
docs_{{ .version }}:
identifier: guides-druid-clustering-topology-cluster-guide
name: Druid Topology Cluster Guide
identifier: guides-druid-clustering-guide
name: Druid Clustering Overview
parent: guides-druid-clustering
weight: 20
menu_name: docs_{{ .version }}
Expand All @@ -20,7 +20,7 @@ This tutorial will show you how to use KubeDB to provision a Druid Cluster.

Before proceeding:

- Read [druid topology cluster overview](/docs/guides/druid/clustering/topology-cluster-overview/index.md) to get a basic idea about the design and architecture of Druid.
- Read [druid topology cluster overview](/docs/guides/druid/clustering/overview/index.md) to get a basic idea about the design and architecture of Druid.

- You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one by using [kind](https://kind.sigs.k8s.io/docs/user/quick-start/).

Expand Down Expand Up @@ -107,7 +107,7 @@ spec:
```

```bash
$ kubectl create -f https://github.com/kubedb/docs/raw/{{< param "info.version" >}}/docs/guides/druid/clustering/topology-cluster-guide/yamls/druid-with-monitoring.yaml
$ kubectl create -f https://github.com/kubedb/docs/raw/{{< param "info.version" >}}/docs/guides/druid/clustering/guide/yamls/druid-with-monitoring.yaml
druid.kubedb.com/druid-cluster created
```

Expand Down Expand Up @@ -920,6 +920,6 @@ namespace "demo" deleted

## Next Steps

- Detail concepts of [Druid object](/docs/guides/druid/concepts/database/index.md).
- Detail concepts of [DruidDBVersion object](/docs/guides/druid/concepts/catalog/index.md).
- Detail concepts of [Druid object](/docs/guides/druid/concepts/druid.md).
- Detail concepts of [DruidDBVersion object](/docs/guides/druid/concepts/druidversion.md).
- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md).
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
title: Druid Topology Cluster Overview
menu:
docs_{{ .version }}:
identifier: guides-druid-clustering-topology-cluster-guide
name: Druid Topology Cluster Overview
identifier: guides-druid-clustering-overview
name: Druid Clustering Overview
parent: guides-druid-clustering
weight: 15
menu_name: docs_{{ .version }}
Expand All @@ -18,7 +18,7 @@ Druid has a distributed architecture that is designed to be cloud-friendly and e

The following diagram shows the services that make up the Druid architecture, their typical arrangement across servers, and how queries and data flow through this architecture.

![Druid Architecture](/docs/guides/druid/clustering/topology-cluster-overview/images/druid-architecture.svg)
![Druid Architecture](/docs/guides/druid/clustering/overview/images/druid-architecture.svg)

Image ref: <https://druid.apache.org/assets/images/druid-architecture-7db1cd79d2d70b2e5ccc73b6bebfcaa4.svg>

Expand Down Expand Up @@ -72,7 +72,7 @@ Data servers divide operations between Historical and MiddleManager services.
[Historical](https://druid.apache.org/docs/latest/design/historical/) services handle storage and querying on historical data, including any streaming data that has been in the system long enough to be committed. Historical services download segments from deep storage and respond to queries about these segments. They don't accept writes.

#### MiddleManager service
[MiddleManager](https://druid.apache.org/docs/latest/design/middleManager) services handle ingestion of new data into the cluster. They are responsible for reading from external data sources and publishing new Druid segments.
[MiddleManager](https://druid.apache.org/docs/latest/design/middlemanager) services handle ingestion of new data into the cluster. They are responsible for reading from external data sources and publishing new Druid segments.

## External dependencies
In addition to its built-in service types, Druid also has three external dependencies. These are intended to be able to leverage existing infrastructure, where present.
Expand Down Expand Up @@ -111,5 +111,5 @@ For more details, please see the [ZooKeeper](https://druid.apache.org/docs/lates

## Next Steps

- [Deploy Druid Group Replication](/docs/guides/druid/clustering/group-replication/index.md) using KubeDB.
- [Deploy Druid Cluster](/docs/guides/druid/clustering/overview/index.md) using KubeDB.
- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md)
26 changes: 8 additions & 18 deletions docs/guides/druid/concepts/druid.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ section_menu_id: guides
As with all other Kubernetes objects, a Druid needs `apiVersion`, `kind`, and `metadata` fields. It also needs a `.spec` section. Below is an example Druid object.

```yaml
apiVersion: kubedb.com/v1
apiVersion: kubedb.com/v1alpha2
kind: Druid
metadata:
name: druid
Expand Down Expand Up @@ -53,18 +53,6 @@ spec:
timeoutSeconds: 10
keystoreCredSecret:
name: druid-keystore-cred
podTemplate:
metadata:
annotations:
passMe: ToDatabasePod
labels:
thisLabel: willGoToPod
controller:
annotations:
passMe: ToPetSet
labels:
thisLabel: willGoToPts
storageType: Durable
deletionPolicy: DoNotTerminate
tls:
certificates:
Expand Down Expand Up @@ -137,6 +125,7 @@ spec:
limits:
cpu: 700m
memory: 2Gi
storageType: Durable
storage:
accessModes:
- ReadWriteOnce
Expand All @@ -156,6 +145,7 @@ spec:
limits:
cpu: 700m
memory: 2Gi
storageType: Durable
storage:
accessModes:
- ReadWriteOnce
Expand All @@ -172,15 +162,15 @@ spec:
labels:
release: prometheus
interval: 10s
version: 3.6.1
version: 30.0.0
```
### spec.version
`spec.version` is a required field specifying the name of the [DruidVersion](/docs/guides/druid/concepts/druidversion.md) crd where the docker images are specified. Currently, when you install KubeDB, it creates the following `Druid` resources,

- `28.0.1`
- `30.0.1`
- `30.0.0`

### spec.replicas

Expand Down Expand Up @@ -531,9 +521,9 @@ Know details about KubeDB Health checking from this [blog post](https://appscode
## Next Steps

- Learn how to use KubeDB to run Apache Druid cluster [here](/docs/guides/druid/README.md).
- Deploy [dedicated topology cluster](/docs/guides/druid/clustering/topology-cluster-guide/index.md) for Apache Druid
- Deploy [combined cluster](/docs/guides/druid/clustering/combined-cluster/index.md) for Apache Druid
- Deploy [dedicated topology cluster](/docs/guides/druid/clustering/guide/index.md) for Apache Druid
- Monitor your Druid cluster with KubeDB using [`out-of-the-box` Prometheus operator](/docs/guides/druid/monitoring/using-prometheus-operator.md).
- Detail concepts of [DruidVersion object](/docs/guides/druid/concepts/druidversion.md).
- Learn to use KubeDB managed Druid objects using [CLIs](/docs/guides/druid/cli/cli.md).

[//]: # (- Learn to use KubeDB managed Druid objects using [CLIs]&#40;/docs/guides/druid/cli/cli.md&#41;.)
- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md).
2 changes: 1 addition & 1 deletion docs/guides/druid/concepts/druidautoscaler.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ spec:
trigger: "On"
usageThreshold: 60
scalingThreshold: 50
middleMangers:
middleManagers:
expansionMode: "Online"
trigger: "On"
usageThreshold: 60
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/druid/concepts/druidopsrequest.md
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ spec:
volumeExpansion:
mode: "Online"
historicals: 2Gi
middleMangers: 2Gi
middleManagers: 2Gi
status:
conditions:
- lastTransitionTime: "2024-07-25T18:22:38Z"
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/druid/concepts/druidversion.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,4 +99,4 @@ helm upgrade -i kubedb oci://ghcr.io/appscode-charts/kubedb \
## Next Steps

- Learn about Druid CRD [here](/docs/guides/druid/concepts/druid.md).
- Deploy your first Druid database with KubeDB by following the guide [here](/docs/guides/druid/quickstart/druid/index.md).
- Deploy your first Druid database with KubeDB by following the guide [here](/docs/guides/druid/quickstart/guide/index.md).
8 changes: 4 additions & 4 deletions docs/guides/druid/configuration/guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Configuring Druid Cluster
menu:
docs_{{ .version }}:
identifier: guides-druid-configuration-druid-cluster
name: Guide
name: Configuration File
parent: guides-druid-configuration
weight: 10
menu_name: docs_{{ .version }}
Expand Down Expand Up @@ -102,15 +102,15 @@ secret/deep-storage-config created

## Use Custom Configuration

Say we want to change the default log retention time and default replication factor of creating a topic of brokers. Let's create the `middleManagers.properties` file with our desire configurations.
Say we want to change the default maximum number of tasks the MiddleManager can accept. Let's create the `middleManagers.properties` file with our desire configurations.

**middleManagers.properties:**

```properties
druid.worker.capacity=5
```

and we also want to change the metadata.log.dir of the all historicals nodes. Let's create the `historicals.properties` file with our desire configurations.
and we also want to change the number of processing threads to have available for parallel processing of segments of the historicals nodes. Let's create the `historicals.properties` file with our desire configurations.

**historicals.properties:**

Expand Down Expand Up @@ -256,7 +256,7 @@ Now hit the `http://localhost:8888` from any browser, and you will be prompted t
After providing the credentials correctly, you should be able to access the web console like shown below.

<p align="center">
  <img alt="lifecycle" src="/docs/guides/druid/configuration/images/druid-ui.png">
  <img alt="lifecycle" src="/docs/guides/druid/reconfigure/images/druid-updated-ui.png">
</p>


Expand Down
Binary file modified docs/guides/druid/configuration/images/druid-ui.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/guides/druid/configuration/yamls/config-secret.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: v1
kind: Secret
metadata:
name: config-secret
name: new-config
namespace: demo
stringData:
middleManagers.properties: |-
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/druid/monitoring/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ menu:
identifier: guides-druid-monitoring
name: Monitoring
parent: guides-druid
weight: 50
weight: 140
menu_name: docs_{{ .version }}
---
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions docs/guides/druid/monitoring/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,8 @@ Here, we have specified that we are going to monitor this server using Prometheu
## Next Steps

- Learn how to use KubeDB to run a Apache Druid cluster [here](/docs/guides/druid/README.md).
- Deploy [dedicated topology cluster](/docs/guides/druid/clustering/topology-cluster/index.md) for Apache Druid
- Deploy [combined cluster](/docs/guides/druid/clustering/combined-cluster/index.md) for Apache Druid
- Deploy [dedicated topology cluster](/docs/guides/druid/clustering/overview/index.md) for Apache Druid
- Detail concepts of [DruidVersion object](/docs/guides/druid/concepts/druidversion.md).
- Learn to use KubeDB managed Druid objects using [CLIs](/docs/guides/druid/cli/cli.md).

[//]: # (- Learn to use KubeDB managed Druid objects using [CLIs]&#40;/docs/guides/druid/cli/cli.md&#41;.)
- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md).
4 changes: 2 additions & 2 deletions docs/guides/druid/monitoring/using-builtin-prometheus.md
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,7 @@ Forwarding from [::1]:9090 -> 9090
Now, we can access the dashboard at `localhost:9090`. Open [http://localhost:9090](http://localhost:9090) in your browser. You should see the endpoint of `druid-with-monitoring-stats` service as one of the targets.

<p align="center">
  <img alt="Prometheus Target" height="100%" src="/docs/images/druid/monitoring/druid-with-monitoring-target.png" style="padding:10px">
  <img alt="Prometheus Target" height="100%" src="/docs/guides/druid/monitoring/images/druid-prometheus.png" style="padding:10px">
</p>

Check the labels marked with red rectangle. These labels confirm that the metrics are coming from `Druid` cluster `druid-with-monitoring` through stats service `druid-with-monitoring-stats`.
Expand All @@ -367,6 +367,6 @@ kubectl delete ns monitoring

## Next Steps

- Learn how to configure [Druid Topology](/docs/guides/druid/clustering/topology-cluster/index.md).
- Learn how to configure [Druid Topology](/docs/guides/druid/clustering/overview/index.md).
- Monitor your Druid database with KubeDB using [`out-of-the-box` Prometheus operator](/docs/guides/druid/monitoring/using-prometheus-operator.md).
- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md).
Loading

0 comments on commit b4b2cd8

Please sign in to comment.