我在 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
可以是 service
、pod
、deployment
。但是为什么上面的指令使用 Elasticsearch
作为 kind
呢?我应该指定什么kind
值?
最佳答案
我认为您可能错过了安装 CRD 和 ElasticSearch 运算符的步骤。你有没有按照这一步https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-deploy-eck.html ?
Service
、Pod
、Deployment
等都是Kubernetes原生资源。 Kubernetes 还提供了一种编写自定义资源的方法,使用 CRDs 。 Elasticsearch
就是一个这样的例子,因此您必须在使用自定义资源之前定义它,以便 Kubernetes 理解这一点。
关于docker - 如何在 Kubernetes 上部署 Elasticsearch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64965814/