docker - 如何将 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
?
解决方案
我想你可能错过了安装 CRD 和 ElasticSearch 操作符的步骤。您是否遵循此步骤https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-deploy-eck.html?
Service
, Pod
,Deployment
等是 Kubernetes 原生资源。Kubernetes还提供了一种使用 CRD 编写自定义资源的方法。Elasticsearch
就是这样一个示例,因此您必须在使用它之前定义自定义资源,以便 Kubernetes 理解这一点。
推荐阅读
- python - 是否有可编程的方法将文件从 iPad 传输到 PC?(USB 连接)
- go - 使用接口避免 goroutine 在范围内的数据竞争
- django - 如何在 django.auth.contrib 中处理权限/验证
- sql - 这个 PostgreSQL 函数代码在第 17 行的错误是什么?
- javascript - 在离子/角度中将字符串日期“d/m/y”格式化为“dd/mm/yyyy”
- python - 使用 gspread 创建的电子表格正在与我组织中的所有用户共享
- python-3.x - 将数据框中的所有项转换为浮点数
- python - 如何保存通过camera.capture_continuous(格式rgb)读取的图像并将其保存到文件中
- reactjs - 用于 React 挂钩常量的 useMemo 与 useState
- javascript - 过渡问题 CSS 和 JS