
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该镜像提供了在Kubernetes上部署Elasticsearch 1.7.0集群的便捷方案。遵循Elasticsearch最佳实践,将节点分为三种角色:
通过这种角色分离,可根据需求灵活扩展集群规模,例如典型配置可为3个主节点、3个负载均衡节点和5个数据节点。
注意:目前Kubernetes Pod描述文件中,每个数据节点容器使用
emptyDir存储数据,这仅为简化设置,实际部署时应根据存储需求调整。
kubectl以访问集群主API服务器不支持使用自定义版本的https://registry.hub.docker.com/u/pires/elasticsearch%E3%80%82%E6%AD%A4%E6%AD%A5%E9%AA%A4%E4%B8%BA%E5%8F%AF%E9%80%89%E6%93%8D%E4%BD%9C%EF%BC%8C%E4%BD%BF%E7%94%A8%E8%87%AA%E5%AE%9A%E4%B9%89%E9%95%9C%E5%83%8F%E5%B0%86%E6%97%A0%E6%B3%95%E8%8E%B7%E5%BE%97%E6%94%AF%E6%8C%81%E3%80%82
bashkubectl create -f service-account.yaml kubectl create -f elasticsearch-discovery-service.yaml kubectl create -f elasticsearch-service.yaml kubectl create -f elasticsearch-master-controller.yaml
等待elasticsearch-master-controller部署完成后:
bashkubectl create -f elasticsearch-lb-controller.yaml
等待elasticsearch-lb-controller部署完成后:
bashkubectl create -f elasticsearch-data-controller.yaml
等待所有容器处于RUNNING状态:
bashkubectl get pods
预期输出示例:
$ kubectl get pods NAME READY STATUS RESTARTS AGE elasticsearch-data-881wf 1/1 Running 0 47s elasticsearch-lb-tujlb 1/1 Running 0 1m elasticsearch-master-hh4gw 1/1 Running 0 2m
检查主节点日志(替换实际Pod名称):
bashkubectl logs elasticsearch-master-hh4gw
日志中应包含集群初始化和节点加入信息,例如:
[2015-07-22 13:53:22,631][INFO ][cluster.service] [American Samurai] new_master [American Samurai][dlkCkOJaQ4SkfUPfAPNubQ][elasticsearch-master-hh4gw][inet[/10.244.78.4:9300]]{data=false, master=true}, reason: zen-disco-join (elected_as_master) [2015-07-22 13:54:24,682][INFO ][cluster.service] [American Samurai] added {[Warlock][zvGs3UQ8QE-uxBaqXF5Prw][elasticsearch-lb-tujlb][inet[/10.244.78.5:9300]]{data=false, master=false},}, reason: zen-disco-receive(join from node[[Warlock][zvGs3UQ8QE-uxBaqXF5Prw][elasticsearch-lb-tujlb][inet[/10.244.78.5:9300]]{data=false, master=false}]) [2015-07-22 13:54:54,744][INFO ][cluster.service] [American Samurai] added {[Mastermind of the UK][fpkffLbzTTy0P4ox10xJxg][elasticsearch-data-881wf][inet[/10.244.78.6:9300]]{master=false},}, reason: zen-disco-receive(join from node[[Mastermind of the UK][fpkffLbzTTy0P4ox10xJxg][elasticsearch-data-data-881wf][inet[//10.244.78.6:9300]]{master=false}])
通过以下命令扩展不同类型节点的数量:
bash# 扩展主节点至3个副本 kubectl scale --replicas=3 rc elasticsearch-master # 扩展负载均衡节点至2个副本 kubectl scale --replicas=2 rc elasticsearch-lb # 扩展数据节点至5个副本 kubectl scale --replicas=5 rc elasticsearch-data
Kubernetes服务默认仅集群内容器可访问。如需外部访问,需配置外部负载均衡器(超出本文档范围)。
获取Elasticsearch服务信息:
bashkubectl get service elasticsearch
预期输出示例:
$ kubectl get service elasticsearch NAME LABELS SELECTOR IP(S) PORT(S) elasticsearch component=elasticsearch,role=load-balancer component=elasticsearch,role=load-balancer 10.100.251.16 9200/TCP
从集群内任意运行kube-proxy的主机访问:
bashcurl http://10.100.251.16:9200
预期返回Elasticsearch状态信息:
json{ "status" : 200, "name" : "Warlock", "cluster_name" : "elasticsearch-k8s", "version" : { "number" : "1.7.0", "build_hash" : "929b9739cae115e73c346cb5f9a6f24ba735a743", "build_timestamp" : "2015-07-16T14:31:07Z", "build_snapshot" : false, "lucene_version" : "4.10.4" }, "tagline" : "You Know, for Search" }
查看集群健康状态:
bashcurl http://10.100.251.16:9200/_cluster/health?pretty
预期返回集群健康信息:
json{ "cluster_name" : "elasticsearch-k8s", "status" : "green", "timed_out" : false, "number_of_nodes" : 3, "number_of_data_nodes" : 1, "active_primary_shards" : 0, "active_shards" : 0, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 0, "delayed_unassigned_shards" : 0, "number_of_pending_tasks" : 0, "number_of_in_flight_fetch" : 0 }
适用于需要在Kubernetes环境中部署Elasticsearch集群的场景,包括但不限于:
尤其适合对集群稳定性和可扩展性有较高要求的企业级应用。
以下是 pires/elasticsearch 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



来自真实用户的反馈,见证轩辕镜像的优质服务