[运维]2.elasticsearch-svc连接问题

Serverless 与容器决战在即?有了弹性伸缩就不一样了 - 阿里云云原生 - 博客园

当我部署好elasticsearch的服务后,由于个人习惯,一般服务会在name里带上svc,所以我elasticsearch服务的名字是elasticsearch-svc:

复制代码
[root@master ~]# kubectl get svc -n kube-logging31
NAME                TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)             AGE
elasticsearch-svc   ClusterIP   None          <none>        9200/TCP,9300/TCP   10h
kibana-svc          NodePort    10.105.0.72   <none>        5601:31231/TCP      14m

但是当我部署好elasticsearch和kibana后,发现kibana无法连接到elasticsearch,查看kibana pod的日志,发现如下报错:

复制代码
{"type":"log","@timestamp":"2024-10-02T13:24:30Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"No living connections"}
{"type":"log","@timestamp":"2024-10-02T13:24:30Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://elasticsearch:9200/"}

这里说kibana试图连接到elasticsearch:9200。随后进入kibana的pod,进行验证:

复制代码
[root@master 31efk]# kubectl exec -it kibana-deploy-6bc6b7cd49-z7rzh -n kube-logging31 -- sh
sh-4.2$ curl -v http://elasticsearch-svc:9200
* About to connect() to elasticsearch-svc port 9200 (#0)
*   Trying 10.244.104.12...
* Connected to elasticsearch-svc (10.244.104.12) port 9200 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: elasticsearch-svc:9200
> Accept: */*
> 
< HTTP/1.1 200 OK
< content-type: application/json; charset=UTF-8
< content-length: 502
< 
{
  "name" : "es-cluster-2",
  "cluster_name" : "k8s-logs",
  "cluster_uuid" : "mgDmrtT-TGucWXpj7CkakQ",
  "version" : {
    "number" : "7.2.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "508c38a",
    "build_date" : "2019-06-20T15:54:18.811730Z",
    "build_snapshot" : false,
    "lucene_version" : "8.0.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
* Connection #0 to host elasticsearch-svc left intact
sh-4.2$ exit
exit

发现在kibana内部可以成功解析elasticsearch-svc。

定位到问题可能是kibana的默认elasticsearch服务的配置是elasticsearch:9200。

复制代码
[root@master 31efk]# kubectl exec -it kibana-deploy-6bc6b7cd49-z7rzh -n kube-logging31 -- cat /usr/share/kibana/config/kibana.yml
#
# ** THIS IS AN AUTO-GENERATED FILE **
#

# Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]

可以看到默认的hosts就是 "http://elasticsearch:9200"

所以解决办法是,在kibana的deployment文件里增加下面环境变量(一开始只有ELASTICSEARCH_URL)

复制代码
env:
  - name: ELASTICSEARCH_HOSTS
    value: "http://elasticsearch-svc:9200"
相关推荐
EQUINOX16 小时前
【论文精读】| CLIP精读
大数据·人工智能
沸速存储6 小时前
整机瓶颈判断思路,自上而下定位卡顿根源
运维·服务器·电脑·内容运营
奈斯先生Vector7 小时前
告别工具碎片化:基于 Nano Banana 全模态 AI 聚合架构搭建“文本-图像-视频”自动化协同生产线
运维·数据库·人工智能·架构·自动化·aigc·音视频
微三云 - 廖会灵 (私域系统开发)7 小时前
消费即资产:积分增值异业联盟商业模式完整拆解(附落地逻辑、合规方案与盈利模型)
大数据·人工智能
老白说数智化升级8 小时前
从一次改善到持续进化,AI如何沉淀制造现场的运营知识?
大数据·人工智能·制造
DLYSB_8 小时前
AIOps 大模型实战:基于 LangChain 运维 Agent 的根因诊断与现场声光播报闭环
运维·langchain·报警灯
小也说互联网8 小时前
2026年|正规靠谱外贸独立站建站渠道全景解析
大数据·外贸独立站·独立站搭建·谷歌seo优化·外贸建站·谷歌建站服务商推荐·外贸出海企业必看
只说证事8 小时前
电子商务专业考证能找到哪些工作
大数据
建筑工程企业管理系统9 小时前
erp工程项目管理系统落地价值:实现工程多项目成本精细化核算与管控
大数据·数据库·人工智能
万岳科技系统开发9 小时前
校园跑腿外卖搭建助力高校周边商家拓展线上业务
大数据·人工智能·小程序