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
-
将
opensearch
helm-charts 仓库添加到 Helmhelm repo add opensearch https://opensearch-project.github.io/helm-charts/
-
从 charts 仓库本地更新可用 charts
helm repo update
-
搜索与 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
-
部署 OpenSearch
helm install my-deployment opensearch/opensearch
您也可以手动构建 opensearch-1.0.0.tgz
文件
-
切换到
opensearch
目录cd charts/opensearch
-
打包 Helm chart
helm package .
-
部署 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.yaml
中 extraEnvs
下自定义管理员密码,如下例所示
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。