Run OpenSearch using Helm

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

    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 .

    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 to install Helm.

    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.

    1. Add opensearch helm-charts repository to Helm:

      1. helm repo update
    2. To search for the OpenSearch-related Helm charts:

      1. helm search repo opensearch
      1. NAME CHART VERSION APP VERSION DESCRIPTION
      2. opensearch/opensearch 1.0.7 1.0.0 A Helm chart for OpenSearch
      3. opensearch/opensearch-dashboards 1.0.4 1.0.0 A Helm chart for OpenSearch Dashboards
    3. Deploy OpenSearch:

      1. helm install my-deployment opensearch/opensearch

    You can also build the opensearch-1.0.0.tgz file manually:

    1. Change to the opensearch directory:

    2. Package the Helm chart:

      1. Deploy OpenSearch:

        1. helm install --generate-name opensearch-1.0.0.tgz
        1. helm install --values=customvalues.yaml opensearch-1.0.0.tgz

      Sample output

      1. LAST DEPLOYED: Tue Aug 17 17:59:07 2021
      2. NAMESPACE: default
      3. STATUS: deployed
      4. REVISION: 1
      5. TEST SUITE: None
      6. NOTES:
      7. Watch all cluster members come up.
      8. $ kubectl get pods --namespace=default -l app=opensearch-cluster-master -w

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

      To access the OpenSearch shell:

      1. $ kubectl exec -it opensearch-cluster-master-0 -- /bin/bash

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

      1. $ curl -XGET https://localhost:9200 -u 'admin:admin' --insecure
      2. {
      3. "name" : "opensearch-cluster-master-1",
      4. "cluster_uuid" : "hP2gq5bPS3SLp8Z7wXm8YQ",
      5. "distribution" : "opensearch",
      6. "number" : "1.0.0",
      7. "build_type" : "tar",
      8. "build_hash" : "34550c5b17124ddc59458ef774f6b43a086522e3",
      9. "build_date" : "2021-07-02T23:22:21.383695Z",
      10. "build_snapshot" : false,
      11. "lucene_version" : "8.8.2",
      12. "minimum_wire_compatibility_version" : "6.8.0",
      13. "minimum_index_compatibility_version" : "6.0.0-beta1"
      14. },
      15. "tagline" : "The OpenSearch Project: https://opensearch.org/"
      16. }

      To identify the OpenSearch deployment that you want to delete:

      1. $ helm list
      2. NAME NAMESPACEREVISIONUPDATED STATUS CHART APP VERSION

      To delete or uninstall a deployment, run the following command:

      1. helm delete opensearch-1-1629223146

      For steps to install OpenSearch Dashboards, see Helm to install OpenSearch Dashboards.