gpt4 book ai didi

elasticsearch - 无法在Kubernetes单模上连接elasticsearch和kibana

转载 作者:行者123 更新时间:2023-12-02 11:35:35 25 4
gpt4 key购买 nike

我尝试在kubernetes上运行elasticsearch和kibana。我跑了:

kubectl run elasticsearch --image=elasticsearch:6.6.1 --env="discovery.type=single-node" --port=9200 --port=9300
kubectl run kibana --image=kibana:6.6.1 --port=5601

然后我运行了 $kubectl proxy
http://localhost:$IP_FROM_KUBECTL_PROXY(usually 8081)/api/v1/namespaces/default/pods/$POD_NAME/proxy/

当我进入elasticsearch pod时,一切看起来都很好,但是当我进入kibana时,该应用程序无法正常工作(我看到“Kibana服务器尚未准备就绪”以表示无限)。

kibana的日志如下:
{"type":"log","@timestamp":"2019-03-02T10:38:47Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"No living connections"}
{"type":"log","@timestamp":"2019-03-02T10:38:49Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://elasticsearch:9200/"}

这是kibana pod上的kibana.yml:

来自kibana-docker的默认Kibana配置。
server.name: kibana
server.host: "0"
elasticsearch.url: http://elasticsearch:9200
xpack.monitoring.ui.container.elasticsearch.enabled: true

我对Kubernetes很陌生,我不知道为什么他们不能彼此交谈。

最佳答案

该Kibana日志条目向您说明了问题所在:

{"type":"log","@timestamp":"2019-03-02T10:38:49Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://elasticsearch:9200/"}


问题:为kubernetes命名 pods elasticsearch是不够的。
您可以根据情况提供一些解决方案:
  • 按照Amityo的建议创建服务。如果kibana和elasticsearch在相同的 namespace 中运行,这就足够了。
  • 如果kibana和elasticsearch在不同的 namespace 中运行,则需要使用完整的DNS名称进行服务:elasticsearch.my-namespace.svc.cluster.local
  • 如果您在同一容器中运行elasticsearch和kibana。然后localhost:9200就足以进行查询。
  • 您的当前情况。当Elasticsearch运行时,当1-2-3-4是Pod的IP地址(点号用短划线代替)时,您可以将Pod DNS名称用作ELASTICSEARCH_URL:1-2-3-4.default.pod.cluster.local。

  • 使用以下YAML为elasticsearch创建Pod定义时,可以定义主机名:
    apiVersion: v1
    kind: Pod
    metadata:
    name: elasticsearch
    labels:
    name: elasticsearch-single
    spec:
    hostname: elasticsearch
    subdomain: for-kibana
    containers:
    - image: elasticsearch:6.6.1
    name: elasticsearch
    然后,您将可以使用pod DNS名称作为ELASTICSEARCH_URL:elasticsearch.for-kibana.default.svc.cluster.local服务。
    您可以在kubernetes doc here上找到所有信息
    请注意:根据官方文档,Env变量ELASTICSEARCH_URL在较新的elasticsearch版本中已弃用,更多详细信息 see here

    关于elasticsearch - 无法在Kubernetes单模上连接elasticsearch和kibana,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54957616/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com