Skip to content

Commit

Permalink
feat(chart): add index doc for gh pages (#294)
Browse files Browse the repository at this point in the history
* feat(chart): add index doc for gh pages

Signed-off-by: Abhinandan Purkait <[email protected]>

* docs: update index

Signed-off-by: Abhinandan Purkait <[email protected]>

---------

Signed-off-by: Abhinandan Purkait <[email protected]>
  • Loading branch information
Abhinandan-Purkait authored Apr 15, 2024
1 parent dc8c749 commit 56c6f8e
Showing 1 changed file with 53 additions and 30 deletions.
83 changes: 53 additions & 30 deletions index.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,83 @@
# OpenEBS LVM Local PV Helm Repository
# OpenEBS Helm Repository

<img width="300" align="right" alt="OpenEBS Logo" src="https://raw.githubusercontent.com/cncf/artwork/master/projects/openebs/stacked/color/openebs-stacked-color.png" xmlns="http://www.w3.org/1999/html">
<img width="200" align="right" alt="OpenEBS Logo" src="https://raw.githubusercontent.com/cncf/artwork/master/projects/openebs/stacked/color/openebs-stacked-color.png" xmlns="http://www.w3.org/1999/html">

[Helm3](https://helm.sh) must be installed to use the charts.
Please refer to Helm's [documentation](https://helm.sh/docs/) to get started.
[OpenEBS](https://openebs.io) helps Developers and Platform SREs easily deploy Kubernetes Stateful Workloads that require fast and highly reliable container attached storage. OpenEBS can be deployed on any Kubernetes cluster - either in cloud, on-premise (virtual or bare metal) or developer system (minikube).

Once Helm is set up properly, add the repo as follows:
OpenEBS Data Engines and Control Plane are implemented as micro-services, deployed as containers and orchestrated by Kubernetes itself. An added advantage of being a completely Kubernetes native solution is that administrators and developers can interact and manage OpenEBS using all the wonderful tooling that is available for Kubernetes like kubectl, Helm, Prometheus, Grafana, etc.

OpenEBS turns any storage available on the Kubernetes worker nodes into local or distributed Kubernetes Persistent Volumes.
* Local Volumes are accessible only from a single node in the cluster. Pods using Local Volume have to be scheduled on the node where volume is provisioned. Local Volumes are typically preferred for distributed workloads like Cassandra, MongoDB, Elastic, etc that are distributed in nature and have high availability built into them. Depending on the type of storage attached to the Kubernetes worker, OpenEBS offers different flavors of Local PV - Hostpath, LVM and ZFS.
* Replicated Volumes as the name suggests, are those that have their data synchronously replicated to multiple nodes. Volumes can sustain node failures. The replication also can be setup across availability zones helping applications move across availability zones. OpenEBS offers Replicated PV Mayastor as an replicated storage solution, which provides high availability and high performance.

## Documentation and user guides

OpenEBS can run on any Kubernetes 1.23+ cluster in a matter of minutes. See the [Quickstart Guide to OpenEBS](https://openebs.io/docs/quickstart-guide/installation) for detailed instructions.

## Getting started

### How to customize OpenEBS Helm chart?

OpenEBS Helm chart is a unified Helm chart that pulls together engine specific charts. The engine charts are included as [dependencies](https://github.com/openebs/openebs/tree/HEAD/charts/Chart.yaml).

```bash
helm repo add openebs-lvmlocalpv https://openebs.github.io/lvm-localpv
openebs
├── (default) Local PV HostPath
├── (default) Local PV LVM
├── (default) Local PV ZFS
└── (default) Replicated PV Mayastor
```

You can then run `helm search repo openebs-lvmlocalpv` to see the charts.
### Prerequisites

- [LocalPV Hostpath Prerequisites](https://openebs.io/docs/user-guides/local-storage-user-guide/local-pv-hostpath/hostpath-installation#prerequisites)
- [LocalPV LVM Prerequisites](https://openebs.io/docs/user-guides/local-storage-user-guide/local-pv-lvm/lvm-installation#prerequisites)
- [LocalPV ZFS Prerequisites](https://openebs.io/docs/user-guides/local-storage-user-guide/local-pv-zfs/zfs-installation#prerequisites)
- [Replicated Engine Prerequisites](https://openebs.io/docs/user-guides/replicated-storage-user-guide/rs-installation#prerequisites)

### Setup Helm Repository

#### Update OpenEBS LVM LocalPV Repo
Before installing OpenEBS Helm chart, the [OpenEBS Helm repository](https://openebs.github.io/openebs) needs to be added to the Helm client.

Once OpenEBS LVM Localpv repository has been successfully fetched into the local system, it has to be updated to get the latest version. The LVM LocalPV charts repo can be updated using the following command.
#### Setup Helm repository

```bash
helm repo add openebs https://openebs.github.io/openebs
helm repo update
```

#### Install using Helm 3
#### Install OpenEBS Helm chart with default values.

- Assign openebs namespace to the current context:
```bash
kubectl config set-context <current_context_name> --namespace=openebs
helm install openebs --namespace openebs openebs/openebs --create-namespace
```

- If namespace is not created, run the following command
```bash
helm install <your-relase-name> openebs-lvmlocalpv/lvm-localpv --create-namespace
```
- Else, if namespace is already created, run the following command
The above commands will install OpenEBS LocalPV Hostpath, OpenEBS LocalPV LVM, OpenEBS LocalPV ZFS and OpenEBS Mayastor components in openebs namespace with chart name as openebs.

Replicated PV Mayastor can be excluded during the installation with the following command:

```bash
helm install <your-relase-name> openebs-lvmlocalpv/lvm-localpv
helm install openebs --namespace openebs openebs/openebs --set engines.replicated.mayastor.enabled=false --create-namespace
```

_See [configuration](#configuration) below._
To view the chart and get the following output.

_See [helm install](https://helm.sh/docs/helm/helm_install/) for command documentation._

## Uninstall Chart
```bash
helm ls -n openebs

```console
helm uninstall [RELEASE_NAME]
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
openebs openebs 1 2024-03-25 09:13:00.903321318 +0000 UTC deployed openebs-4.0.0 4.0.0
```

This removes all the Kubernetes components associated with the chart and deletes the release.
As a next step [verify the installation](https://openebs.io/docs/quickstart-guide/installation#verifying-openebs-installation) and do the [post installation](https://openebs.io/docs/quickstart-guide/installation#post-installation-considerations) steps.

_See [helm uninstall](https://helm.sh/docs/helm/helm_uninstall/) for command documentation._
For more details on customizing and installing OpenEBS please see the [chart values](https://github.com/openebs/openebs/tree/HEAD/charts/README.md).

## Upgrading Chart
### To uninstall/delete instance with release name

```console
helm upgrade [RELEASE_NAME] [CHART] --install
```bash
helm ls --all
helm delete `<RELEASE NAME>` -n `<RELEASE NAMESPACE>`
```

For more details on installing OpenEBS LVM Local PV please see the [chart readme](https://github.com/openebs/lvm-localpv/blob/master/deploy/helm/charts/README.md).
> **Tip**: Prior to deleting the Helm chart, make sure all the storage volumes and pools are deleted.

0 comments on commit 56c6f8e

Please sign in to comment.