Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 19 additions & 15 deletions docs/server/kubernetes-operator/v1.1.0/getting-started/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,32 +9,36 @@ dir:
<CloudBanner />

---
Welcome to the **KurrentDB Kubernetes Operator** guide! For the sake of brevity, further references will use the shorter term of Operator.

This guide aims to:
* Detail key features
* Provide comprehensive instructions for installing and utilizing the Operator
Welcome to the **KurrentDB Kubernetes Operator** guide. In this guide, we’ll refer to the KurrentDB Kubernetes Operator simply as “the Operator.” Use the Operator to simplify backup, scaling, and upgrades of KurrentDB clusters on Kubernetes.

:::important
The Operator is an Enterprise only feature, please [contact us](https://www.kurrent.io/contact) for more information.
:::

## KurrentDB and Kubernetes: The Perfect Match
## Why run KurrentDB on Kubernetes?

Kubernetes is the modern Enterprise standard for deploying containerized applications at scale. The Operator has been purpose built to streamline the deployment and management of KurrentDB.
Kubernetes is the modern enterprise standard for deploying containerized applications at scale. The Operator streamlines deployment and management of KurrentDB clusters.

## Features

* Deployment of single-node and multi-node database clusters
* Backup and restore
* Rolling upgrades and configuration changes
* Deploy single-node or multi-node clusters
* Back up and restore clusters
* Perform rolling upgrades and update configurations

### New in 1.1.0
* Deploy Read-only Replica nodes into your KurrentDB cluster. See the [example](
../operations/database-deployment.html#three-node-insecure-cluster-with-two-read-only-replicas), and [reference](
resource-types.html#kurrentdbreadonlyreplicasspec)
* Configure arbitrary scheduling constraints on your KurrentDB pods. See the [example](
../operations/database-deployment.html#deploying-with-scheduling-constraints), and [reference](
resource-types.html#kurrentdbconstraints)

## Supported KurrentDB Versions

The Operator supports running the following major versions of KurrentDB:
- v23
- v24
- v25
- v25.x
- v24.x
- v23.x

## Supported Hardware Architectures

Expand All @@ -44,8 +48,8 @@ The Operator is packaged for the following hardware architectures:

## Technical Support

If you have specific questions please [contact us](https://www.kurrent.io/contact).
For support questions, please [contact us](https://www.kurrent.io/contact).

## First Steps

Head over to the [installation](installation.md) section to get rolling!
Ready to install? Head over to the [installation](installation.md) section.
Original file line number Diff line number Diff line change
Expand Up @@ -15,40 +15,40 @@ The Operator is an Enterprise only feature, please [contact us](https://www.kurr
To get the best out of this guide, a basic understanding of [Kubernetes concepts](https://kubernetes.io/docs/concepts/) is essential.
:::

Before installing and executing the Operator, the following requirements should be met:
* A Kubernetes cluster running `v1.23.1` or later.
* Permission to create resources, deploy the Operator and install CRDs in the target cluster.
* The following CLI tools installed, on your shell’s `$PATH`, with `$KUBECONFIG` pointing to your cluster:
* kubectl [install guide](https://kubernetes.io/docs/tasks/tools/install-kubectl)
* k9s [install guide](https://k9scli.io/topics/install/)
* Helm 3 CLI [install guide](https://helm.sh/docs/intro/install/)
* A valid Operator license. Please [contact us](https://www.kurrent.io/contact) for more information.

* Access to a Kubernetes cluster with a minimum version of `v1.23.1+`.
* Sufficient permissions to deploy the Operator and Custom Resource Definitions (CRDs).
* The following CLI tools are installed and configured to interact with your Kubernetes cluster. This means the tool must be accessible from your shell's `$PATH`, and your `$KUBECONFIG` environment variable must point to the correct Kubernetes configuration file:
* [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl)
* [k9s](https://k9scli.io/topics/install/)
* The [Helm 3 CLI](https://helm.sh/docs/intro/install/) tool is installed and configured to interact with your Kubernetes cluster.
* Operator license (please [contact us](https://www.kurrent.io/contact) for more information).
## Configure Helm Repository

## Helm Repository

The Operator deployment process is managed via Helm. The following Kurrent repository must be configured using the command:
Add the Kurrent Helm repository to your local environment:

```bash
helm repo add kurrent-latest \
'https://packages.kurrent.io/basic/kurrent-latest/helm/charts/'
```

## Custom Resource Definitions (CRDs)
## Install Custom Resource Definitions (CRDs)

The Operator uses Custom Resource Definitions (CRDs) to extend Kubernetes. You can install them automatically with Helm or manually.

The following resource types are supported by the Operator:
The following resource types are supported:
- [KurrentDB](resource-types.md#kurrentdb)
- [KurrentDBBackup](resource-types.md#kurrentdbbackup)

Since CRDs are managed globally by Kubernetes, special care must be taken to install them.

### Automatic Install

The recommended approach to install and manage the CRDs is using Helm. Refer to the [Deployment Modes](#deployment-modes) section for more details.
It's recommended to install and manage the CRDs using Helm. See [Deployment Modes](#deployment-modes) for more information.

### Manual Install

If the CRDs must be installed manually, then the following steps can be used:
If you prefer to install CRDs yourself:

```bash
# Download the kurrentdb-operator Helm chart
Expand All @@ -64,13 +64,13 @@ customresourcedefinition.apiextensions.k8s.io/kurrentdbs.kubernetes.kurrent.io c

## Deployment Modes

The Operator can be scoped to track Kurrent resources across *all* or *specific* namespaces.
The Operator can be scoped to track Kurrent resources across **all** or **specific** namespaces.

### Cluster-wide

In this mode, the Operator will track Kurrent resources across **all** namespaces. This mode offers the simplest configuration option but the Operator requires a `ClusterRole` (this will be created as part of the installation process).
In cluster-wide mode, the Operator tracks Kurrent resources across **all** namespaces and requires `ClusterRole`. Helm creates the ClusteRole automatically.

To deploy the Operator in this mode, the following command can be used:
To deploy the Operator in this mode, run:

```bash
helm install kurrentdb-operator kurrent-latest/kurrentdb-operator \
Expand All @@ -82,11 +82,11 @@ helm install kurrentdb-operator kurrent-latest/kurrentdb-operator \
--set-file operator.license.file=/path/to/license.lic
```

Here's what the command does:
- Sets the namespace of where the Operator will be deployed i.e. `kurrent` (feel free to change this)
This command:
- Deploys the Operator into the `kurrent` namespace (use `--create-namespace` to create it). Feel free to modify this namespace.
- Creates the namespace (if it already exists, leave out the `--create-namespace` flag)
- Deploys CRDs (this can be skipped by removing `--set crds.enabled=true`)
- Configures the Operator license
- Applys the Operator license
- Deploys a new Helm release called `kurrentdb-operator` in the `kurrent` namespace.

*Expected Output*:
Expand Down
Loading