使用 AKS 时如何修复 "Kibana server is not ready yet" 错误

How to fix "Kibana server is not ready yet" error when using AKS

我正在 Azure Kubernetes 服务中设置 ELK 服务。但我只看到这个错误:

"Kibana server is not ready yet"

我正在使用 Helm 在 AKS 中安装 stable/elastic-stack 版本,没有任何更改(所有内容都是默认设置)。

helm install --name elk stable/elastic-stack

而且我还添加了一个入口控制器来将 Kibana 服务器暴露给 public。 但是,我只看到 "Kibana server is not ready yet" 错误。

我检查过 Kibana pod 是 运行,还有 ElasticSearch。作为 Kubernetes 的新手,我不知道如何在 Kibana 实例中找到错误日志。谁可以帮我这个事?如果您能指出我缺少的步骤,我们也将不胜感激。

很可能您没有使用原始 Kibana 部署更改 ELASTICSEARCH_URL 环境变量的值,因为它附带 Elastic-stack Helm 图表的默认值。因此,您必须将 Elasticsearch URL 替换为 Kibana 配置中的实际服务地址。

您可以通过两种方式完成:

  • 更新 Helm Chart 中的值:

    helm upgrade -f new-values.yml {release name} {package name or path}

可以找到 Elastic-stack Helm chart 的默认值 values.yaml here. Also might be useful to get more details in the official Helm documentation

  • 替换ELASTICSEARCH_URL相关的环境变量 Kibana 部署:

    kubectl edit deployment elk-kibana

    kubectl delete pod <elk-kibana-Pod-name>

等到 Kubernetes 成功终止旧的并启动一个新的 Kibana Pod。

可能是版本不兼容的问题。只需按照控制台操作即可获取错误。 Kibana 版本应该总是高于 Elasticsearch.In 这种情况,它会给出以下错误。

[错误][状态][插件:xpack_main@7.4.0] 状态从黄色变为红色 - 此版本的 Kibana 需要所有节点上的 Elasticsearch v7.4.0。我在您的集群中发现了以下不兼容的节点:v7.1.1 @ 127.0.0.1:9200 (127.0.0.1)