Reputation: 42418
I installed minikube
on my Mac and I'd like to deploy elasticsearch on this k8s cluster. I followed this instruction: https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-deploy-elasticsearch.html
The file I created is:
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
when I run kubectl apply -f es.yaml
, I got this error: error: unable to recognize "es.yaml": no matches for kind "Elasticsearch" in version "elasticsearch.k8s.elastic.co/v1"
It says kind
is not matched. I wonder how I can make it work. I searched k8s doc and it seems kind
can be service
, pod
, deployment
. But why the above instruction uses Elasticsearch
as the kind
? What value of kind
should I specify?
Upvotes: 2
Views: 1426
Reputation: 361
I think you might have missed the step of installing CRD and the operator for ElasticSearch. Have you followed this step https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-deploy-eck.html?
Service
, Pod
, Deployment
etc are Kubernetes native resources. Kubernetes provides a way to write custom resources also, using CRDs. Elasticsearch
is one such example, so you have to define custom resource before using it for Kubernetes to understand that.
Upvotes: 2