diff --git a/docs/quick-start/installation.md b/docs/quick-start/installation.md index 5a5b05e..ff90f39 100644 --- a/docs/quick-start/installation.md +++ b/docs/quick-start/installation.md @@ -1,39 +1,55 @@ # Quick Start -In this quick start, we will use Kubedoop's hive-operator as an example to show how to deploy a Hive Metastore in a Kubernetes cluster. +In this quick start, we will use Kubedoop's hive-operator as an example to show +how to deploy a Hive Metastore in a Kubernetes cluster. ## Prerequisites To start using Kubedoop, you need to meet the following requirements: - Install [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) +- Install [Helm](https://helm.sh/docs/intro/install/) v3+ - Prepare a Kubernetes cluster -## Install OLM +## Install the Operator -Kubedoop relies on the Operator Lifecycle Manager (OLM) to manage Operators. If OLM is not installed in your cluster, you can install it with the following command: +Kubedoop uses Helm charts to deploy and manage Operators. +Container images are published to [quay.io](https://quay.io/kubedoopcharts) and +charts are distributed via a Helm repository. + +### Add the Helm Repository ```bash -curl -sL https://github.com/operator-framework/operator-lifecycle-manager/releases/download/v0.25.0/install.sh | bash -s v0.25.0 +helm repo add kubedoop https://zncdatadev.github.io/kubedoop-helm-charts/ +helm repo update ``` -## Install hive-operator +### Install Built-in Operators -OLM manages the installation of Operators through [Subscription](https://olm.operatorframework.io/docs/concepts/subscriptions/). We can install the hive-metastore-operator by creating a Subscription: +The commons-operator, listener-operator, and secret-operator are required +dependencies for all product Operators. Install them first: -```yaml -kubectl apply -f https://raw.githubusercontent.com/kubedoop.dev/kubedatastack/main/examples/hive/olm-subscriptions.yaml +```bash +helm install commons-operator kubedoop/commons-operator -n operators --create-namespace +helm install listener-operator kubedoop/listener-operator -n operators +helm install secret-operator kubedoop/secret-operator -n operators ``` -Verify that the operator's pod is running normally: +### Install the Hive Operator ```bash -kubectl get pods -n operator +helm install hive-operator kubedoop/hive-operator -n operators +``` + +Verify that the Operator pod is running normally: + +```bash +kubectl get pods -n operators ``` ## Create Namespace -Create a namespace for hive to deploy the hive cluster: +Create a namespace for Hive to deploy the Hive cluster: ```bash kubectl create ns hive @@ -41,15 +57,27 @@ kubectl create ns hive ## Deploy a Hive Cluster -The Hive cluster is managed by the hive-operator. We can deploy a Hive Metastore by creating a HiveCluster object: +The Hive cluster is managed by the hive-operator. You can deploy a Hive +Metastore by creating a HiveMetastore custom resource: -```yaml -kubectl apply -f https://raw.githubusercontent.com/kubedoop.dev/kubedatastack/main/examples/hive/hive-metastore.yaml +```bash +kubectl apply -f - <