Link Search Menu Expand Document Documentation Menu

Helm

Helm 是一个包管理器,它允许您在 Kubernetes 集群中轻松安装和管理 OpenSearch。您可以在 YAML 文件中定义 OpenSearch 配置,并使用 Helm 以版本控制和可重现的方式部署应用程序。

Helm chart 包含下表中描述的资源。

资源 描述
Chart.yaml 关于 chart 的信息。
values.yaml chart 的默认配置值。
templates 与值结合生成 Kubernetes 清单文件的模板。

默认 Helm chart 中的规范支持许多标准用例和设置。您可以修改默认 chart 以配置所需的规范,并设置传输层安全 (TLS) 和基于角色的访问控制 (RBAC)。

有关默认配置、配置安全性的步骤和可配置参数的信息,请参阅 README

这里的说明假设您已经有一个预装 Helm 的 Kubernetes 集群。有关配置 Kubernetes 集群的步骤,请参阅 Kubernetes 文档,安装 Helm 请参阅 Helm 文档

先决条件

默认 Helm chart 部署一个三节点集群。我们建议您为此次部署至少准备 8 GiB 内存。如果可用内存少于 4 GiB,部署可能会失败。

使用 Helm 安装 OpenSearch

  1. opensearch helm-charts 仓库添加到 Helm

    helm repo add opensearch https://opensearch-project.github.io/helm-charts/
    

  2. 从 charts 仓库本地更新可用 charts

    helm repo update
    

  3. 搜索与 OpenSearch 相关的 Helm charts

    helm search repo opensearch
    

    NAME                            	CHART VERSION	APP VERSION	DESCRIPTION                           
    opensearch/opensearch           	1.0.7        	1.0.0      	A Helm chart for OpenSearch           
    opensearch/opensearch-dashboards	1.0.4        	1.0.0      	A Helm chart for OpenSearch Dashboards
    
  4. 部署 OpenSearch

    helm install my-deployment opensearch/opensearch
    

您也可以手动构建 opensearch-1.0.0.tgz 文件

  1. 切换到 opensearch 目录

    cd charts/opensearch
    

  2. 打包 Helm chart

    helm package .
    

  3. 部署 OpenSearch

    helm install --generate-name opensearch-1.0.0.tgz
    

    输出显示了从安装中实例化的规范。要自定义部署,请通过自定义 YAML 文件传入要覆盖的值

    helm install --values=customvalues.yaml opensearch-1.0.0.tgz
    

对于 OpenSearch 2.12 或更高版本,请在 values.yamlextraEnvs 下自定义管理员密码,如下例所示

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

示例输出

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

要确保您的 OpenSearch Pod 正在运行,请运行以下命令

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

访问 OpenSearch shell

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

您可以向 Pod 发送请求以验证 OpenSearch 是否正在运行

$ curl -XGET https://:9200 -u 'admin:admin' --insecure
{
  "name" : "opensearch-cluster-master-1",
  "cluster_name" : "opensearch-cluster",
  "cluster_uuid" : "hP2gq5bPS3SLp8Z7wXm8YQ",
  "version" : {
    "distribution" : "opensearch",
    "number" : <version>,
    "build_type" : <build-type>,
    "build_hash" : <build-hash>,
    "build_date" : <build-date>,
    "build_snapshot" : false,
    "lucene_version" : <lucene-version>,
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "The OpenSearch Project: https://opensearch.org.cn/"
}

使用 Helm 卸载

确定您要删除的 OpenSearch 部署

$ helm list
NAME  NAMESPACEREVISIONUPDATED  STATUS  CHART APP VERSION
opensearch-1-1629223146 default 1 2021-08-17 17:59:07.664498239 +0000 UTCdeployedopensearch-1.0.0    1.0.0       

要删除或卸载部署,请运行以下命令

helm delete opensearch-1-1629223146

有关安装 OpenSearch Dashboards 的步骤,请参阅使用 Helm 安装 OpenSearch Dashboards

剩余 350 字符

有问题?

想贡献力量?