在 Ubuntu 18 上,我在我的电脑上安装了 elasticsearch 和 kibana 作为服务。此外,安装了 minikube(使用 kvm2 驱动程序)。我正在关注关于 kubernetes (Add logging and metrics to the PHP / Redis Guestbook example) 的教程,但我无法连接到我的外部托管 Elasticsearch 和 kibana。
如何在 minikube 中配置 elasticsearch/kibana 和 kube-state-metrics?
最佳答案
首先必须将 elasticsearch & kibana 绑定(bind)到 minikube “可以看到”的特定主机 ip。
获取ip:
minikube ssh "route -n | grep ^0.0.0.0 | awk '{ print \$2 }'"
In my case it returns 192.168.122.1
更新 elastic & kibana 配置 & 重启:
sudo nano /etc/elasticsearch/elasticsearch.yml
network.host: 192.168.122.1
cluster.initial_master_nodes: ["node-1","node-2"]
sudo nano /etc/kibana/kibana.yml
server.host: 192.168.122.1
elasticsearch.hosts: ["http://192.168.122.1:9200"]
sudo systemctl restart elasticsearch.service
sudo systemctl restart kibana.service
验证服务器是否正在运行:
curl 192.168.122.1:9200
curl 192.168.122.1:5601
curl 192.168.122.1:5601/api/status
sudo journalctl -u kibana
sudo journalctl -u elasticsearch
从 minikube 内部验证连通性:
minikube ssh
_ _
_ _ ( ) ( )
___ ___ (_) ___ (_)| |/') _ _ | |_ __
/' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\
| ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/
(_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____)
$ curl 192.168.122.1:9200
$ curl 192.168.122.1:5601/api/status
现在我们只需要在 kubernetes 的 secret 配置中使用这个 ip kubernetes secret configuration for filebeat :
ELASTICSEARCH_HOSTS
["http://192.168.122.1:9200"]
KIBANA_HOSTS
"192.168.122.1:5601"
关于elasticsearch - 如何从 minikube 连接到主机上安装的 elasticsearch(本地开发和 kvm2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59892896/