首页 > 解决方案 > 如何将 elasticsearch 部署到 kubernete?

问题描述

我安装minikube在我的 Mac 上,我想在这个 k8s 集群上部署 elasticsearch。我按照以下说明操作:https ://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-deploy-elasticsearch.html

我创建的文件是:

apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: quickstart
spec:
  version: 7.10.0
  nodeSets:
  - name: default
    count: 1
    config:
      node.store.allow_mmap: false

当我运行时kubectl apply -f es.yaml,出现此错误:error: unable to recognize "es.yaml": no matches for kind "Elasticsearch" in version "elasticsearch.k8s.elastic.co/v1"

它说不kind匹配。我想知道我怎样才能让它工作。我搜索了 k8s 文档,似乎kind可以是service, pod, deployment. 但是为什么上面的指令Elasticsearch用作kind?我应该指定什么值kind

标签: dockerelasticsearchkubernetes

解决方案


我想你可能错过了安装 CRD 和 ElasticSearch 操作符的步骤。您是否遵循此步骤https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-deploy-eck.html

Service, Pod,Deployment等是 Kubernetes 原生资源。Kubernetes还提供了一种使用 CRD 编写自定义资源的方法。Elasticsearch就是这样一个示例,因此您必须在使用它之前定义自定义资源,以便 Kubernetes 理解这一点。


推荐阅读