docker - 如何在 Kubernetes 上部署 Elasticsearch?

标签 docker elasticsearch kubernetes

我在 Mac 上安装了 minikube,我想在此 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时,我收到此错误:错误:无法识别“es.yaml”:版本“中没有与类型“Elasticsearch”匹配的内容elasticsearch.k8s.elastic.co/v1"

它说kind不匹配。我想知道如何才能让它发挥作用。我搜索了 k8s 文档,似乎 kind 可以是 servicepoddeployment。但是为什么上面的指令使用 Elasticsearch 作为 kind 呢?我应该指定什么kind值?

最佳答案

我认为您可能错过了安装 CRD 和 ElasticSearch 运算符的步骤。你有没有按照这一步https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-deploy-eck.html

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

关于docker - 如何在 Kubernetes 上部署 Elasticsearch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64965814/

相关文章:

shell - Docker ARG 命令找不到文件

docker - 如何在 docker-compose 中定义 build-args?

elasticsearch - elasticsearch中的相关性分数有上限吗

django - 通过整数字段在 Elasticsearch_dsl 中进行范围查询

Docker nginx 502 用于 GET/Post 请求但不是 websocket 的错误网关

docker - Nginxplus docker 构建失败,Centos 7 出现 403 禁止错误

elasticsearch - Logstash Elasticsearch压缩

docker - SSL.keystore.location 在我的 Kubernetes secret 挂载中找不到 JKS 文件

kubernetes - 为什么虚拟机实例上的 Kubernetes 集群 Google Cloud 无法将主机与 NodePort 连接?

kubernetes - 带有Calico CNI节点的Kubernetes 1.17容器1.2.0未加入主节点