Link Search Menu Expand Document Documentation Menu

Helm

Helm is a package manager that allows you to easily install and manage Lucenia in a Kubernetes cluster. You can define your Lucenia configurations in a YAML file and use Helm to deploy your applications in a version-controlled and reproducible way.

The Helm chart contains the resources described in the following table.

Resource Description
Chart.yaml Information about the chart.
values.yaml Default configuration values for the chart.
templates Templates that combine with values to generate the Kubernetes manifest files.

The specification in the default Helm chart supports many standard use cases and setups. You can modify the default chart to configure your desired specifications and set Transport Layer Security (TLS) and role-based access control (RBAC).

For information about the default configuration, steps to configure security, and configurable parameters, see the README.

The instructions here assume you have a Kubernetes cluster with Helm preinstalled. See the Kubernetes documentation for steps to configure a Kubernetes cluster and the Helm documentation to install Helm.

Prerequisites

The default Helm chart deploys a three-node cluster. We recommend that you have at least 8 GiB of memory available for this deployment. You can expect the deployment to fail if, say, you have less than 4 GiB of memory available.

Install Lucenia using Helm

  1. Add lucenia helm-charts repository to Helm:

    helm repo add lucenia https://helm.lucenia.io
    

  2. Update the available charts locally from charts repositories:

    helm repo update
    

  3. To search for the Lucenia-related Helm charts:

    helm search repo lucenia
    

    NAME           	CHART VERSION	APP VERSION	DESCRIPTION             
    lucenia/lucenia	0.1.5        	0.1.0      	A Helm chart for Lucenia           
    
  4. Deploy Lucenia:

    helm install my-deployment lucenia/lucenia
    

You can also build the lucenia-0.1.0.tgz file manually:

  1. Change to the lucenia directory:

    cd charts/lucenia
    

  2. Package the Helm chart:

    helm package .
    

  3. Deploy Lucenia:

    helm install --generate-name lucenia-0.1.0.tgz
    

    The output shows you the specifications instantiated from the install. To customize the deployment, pass in the values that you want to override with a custom YAML file:

    helm install --values=customvalues.yaml lucenia-0.1.0.tgz
    

Customize the admin password in values.yaml under extraEnvs, as shown in the following example:

extraEnvs:
  - name: LUCENIA_INITIAL_ADMIN_PASSWORD
    value: <custom-admin-password>

Sample output

  NAME: lucenia-1-1629223146
  LAST DEPLOYED: Tue July 27 17:59:07 2024
  NAMESPACE: default
  STATUS: deployed
  REVISION: 1
  TEST SUITE: None
  NOTES:
  Watch all cluster members come up.
    $ kubectl get pods --namespace=default -l app=lucenia-cluster-manager -w

To make sure your Lucenia pod is up and running, run the following command:

$ kubectl get pods
NAME                                                READY   STATUS    RESTARTS   AGE
lucenia-cluster-manager-0                           1/1     Running   0          3m56s
lucenia-cluster-manager-1                           1/1     Running   0          3m56s
lucenia-cluster-manager-2                           1/1     Running   0          3m56s

To access the Lucenia shell:

$ kubectl exec -it lucenia-cluster-manager-0 -- /bin/bash

You can send requests to the pod to verify that Lucenia is up and running:

$ curl -XGET https://localhost:9200 -u 'admin:$LUCENIA_INITIAL_ADMIN_PASSWORD' --insecure
{
  "name" : "lucenia-cluster-manager-0",
  "cluster_name" : "lucenia-cluster",
  "cluster_uuid" : "J1GKnWu9QKGFWd0vTJlRlA",
  "version" : {
    "distribution" : "skylite",
    "number" : "0.1.0",
    "build_type" : "tar",
    "build_hash" : "4044f30b37cfc31ea2b2789e0248fdd40cfbde23",
    "build_date" : "2024-07-26T15:50:14.800302765Z",
    "build_snapshot" : false,
    "lucene_version" : "9.11.0",
    "minimum_wire_compatibility_version" : "2.14.0",
    "minimum_index_compatibility_version" : "2.0.0"
  },
  "tagline" : "[SEARCH]...on your terms"
}

Uninstall using Helm

To identify the Lucenia deployment you want to delete, note the NAME from the output of the helm list command:

$ helm list      

To uninstall a deployment, run the following command replacing RELEASE_NAME with the name obtained from the helm list command:

helm uninstall RELEASE_NAME

For steps to install OpenSearch Dashboards with Helm, see Run OpenSearch Dashboards Using Helm.

350 characters left

Have a question? .