OpenSearch Kubernetes Operator 是一个开源的 Kubernetes 运算符,有助于在容器化环境中自动化部署和配置 OpenSearch 和 OpenSearch Dashboards。该运算符可以管理多个 OpenSearch 集群,并根据您的需求进行扩缩。
安装
有两种方式可以开始使用该运算符
使用 Helm Chart
如果您使用 Helm 管理您的 Kubernetes 集群,可以使用 OpenSearch Kubernetes Operator 的云原生计算基金会(CNCF)项目,该项目存储在 Artifact Hub 中,Artifact Hub 是一个用于查找、安装和发布 CNCF 包的 Web 应用程序。
首先,登录到您的 Kubernetes 集群,并从 Artifact Hub 添加 Helm 仓库(repo)。
helm repo add opensearch-operator https://opensearch-project.github.io/opensearch-k8s-operator/
请确保该仓库已包含在您的 Kubernetes 集群中。
helm repo list | grep opensearch
opensearch
和 opensearch-operator
仓库都显示在仓库列表中。
安装管理 OpenSearch Kubernetes Operator 所有操作的管理器。
helm install opensearch-operator opensearch-operator/opensearch-operator
安装完成后,运算符将返回部署信息,状态为 STATUS: deployed
。然后您可以配置并启动您的 OpenSearch 集群。
使用本地安装
如果您想在现有机器上创建新的 Kubernetes 集群,请使用本地安装。
如果您是首次运行 Kubernetes,并打算在笔记本电脑上按照这些说明操作,请确保您已安装以下内容:
在运行安装步骤之前,请确保您已在本地运行 Kubernetes 环境。使用 minikube 时,打开一个新的终端窗口并输入 minikube start
。Kubernetes 现在将使用一个名为 default
命名空间的容器化 minikube 集群。
然后按照以下步骤安装 OpenSearch Kubernetes Operator
- 在您首选的目录中,克隆 OpenSearch Kubernetes Operator 仓库。使用
cd
命令进入仓库目录。 - 进入
opensearch-operator
文件夹。 - 输入
make build manifests
。 - 启动 Kubernetes 集群。使用 minikube 时,打开一个新的终端窗口并输入
minikube start
。Kubernetes 现在将使用一个名为default
命名空间的容器化 minikube 集群。确保~/.kube/config
指向该集群。
apiVersion: v1
clusters:
- cluster:
certificate-authority: /Users/naarcha/.minikube/ca.crt
extensions:
- extension:
last-update: Mon, 29 Aug 2022 10:11:47 CDT
provider: minikube.sigs.k8s.io
version: v1.26.1
name: cluster_info
server: https://127.0.0.1:61661
name: minikube
contexts:
- context:
cluster: minikube
extensions:
- extension:
last-update: Mon, 29 Aug 2022 10:11:47 CDT
provider: minikube.sigs.k8s.io
version: v1.26.1
name: context_info
namespace: default
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
user:
client-certificate: /Users/naarcha/.minikube/profiles/minikube/client.crt
client-key: /Users/naarcha/.minikube/profiles/minikube/client.key
- 输入
make install
以创建在您的 Kubernetes 集群中运行的 CustomResourceDefinition。 - 启动 OpenSearch Kubernetes Operator。输入
make run
。
验证 Kubernetes 部署
为确保 Kubernetes 将 OpenSearch Kubernetes Operator 识别为命名空间,请输入 k get ns | grep opensearch
。opensearch
和 opensearch-operator-system
都应显示为 Active
。
在运算符激活后,使用 k get pod -n opensearch-operator-system
确保运算符的 Pod 正在运行。
NAME READY STATUS RESTARTS AGE
opensearch-operator-controller-manager-<pod-id> 2/2 Running 0 25m
Kubernetes 集群运行后,您现在可以在集群内部运行 OpenSearch。
部署新的 OpenSearch 集群
从您克隆的 OpenSearch Kubernetes Operator 仓库中,导航到 opensearch-operator/examples
目录。您将在此处找到 opensearch-cluster.yaml
文件,该文件可以根据您的集群需求进行自定义,包括作为新 OpenSearch 集群所在命名空间的 clusterName
。
配置好集群后,运行 kubectl apply
命令。
kubectl apply -f opensearch-cluster.yaml
该运算符会创建多个 Pod,包括一个引导 Pod、三个 OpenSearch 集群 Pod 和一个 Dashboards Pod。要连接到您的集群,请使用 port-forward
命令。
kubectl port-forward svc/my-cluster-dashboards 5601
在您首选的浏览器中打开 https://:5601,并使用默认的演示凭据 admin / admin
登录。您也可以通过转发到 9200 端口,对 OpenSearch REST API 运行 curl 命令。
kubectl port-forward svc/my-cluster 9200
要删除 OpenSearch 集群,请删除集群资源。以下命令将删除集群命名空间及其所有资源。
kubectl delete -f opensearch-cluster.yaml
后续步骤
要了解如何自定义您的 Kubernetes OpenSearch 集群,包括数据持久性、认证方法和扩缩,请参阅 OpenSearch Kubernetes Operator 用户指南。
如果您想为 OpenSearch Kubernetes Operator 的开发做出贡献,请参阅仓库的 设计文档。