elasticsearch 如何在Azure Kubernetes服务的VM上修复此Elasticsearch代理?
我在AKS的VM上安装了Elasticsearch代理。没有数据要发送到Kibana cloud(它不是在AKS之外安装的)。当我测试Elastecsearch模块时,出现错误:
elasticsearch 如何在Azure Kubernetes服务的VM上修复此Elasticsearch代理?,
elasticsearch,kubernetes,azure-aks,
elasticsearch,Kubernetes,Azure Aks,我在AKS的VM上安装了Elasticsearch代理。没有数据要发送到Kibana cloud(它不是在AKS之外安装的)。当我测试Elastecsearch模块时,出现错误: azureuser@aks-agentpool-yyyyyy-0:/var/log/elasticsearch$ sudo metricbeat test modules Error getting metricbeat modules: module initialization error:
azureuser@aks-agentpool-yyyyyy-0:/var/log/elasticsearch$ sudo metricbeat test modules
Error getting metricbeat modules:
module initialization error:
5 errors:
reading bearer token file:
open /var/run/secrets/kubernetes.io/serviceaccount/token: no such file or directory; reading bearer token file:
open /var/run/secrets/kubernetes.io/serviceaccount/token: no such file or directory; reading bearer token file:
open /var/run/secrets/kubernetes.io/serviceaccount/token: no such file or directory; reading bearer token file:
open /var/run/secrets/kubernetes.io/serviceaccount/token: no such file or directory; reading bearer token file:
open /var/run/secrets/kubernetes.io/serviceaccount/token: no such file or directory
已检查错误是否应基于kubernetes.yml中的以下代码
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
ssl.certificate_authorities:
- /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt
如何在Azure VM上创建secret来解决此问题
补充资料 我随后连接到VMS/VM,然后安装Metricbeat。但是没有数据可以发送到Kibana 以下是我执行的步骤:
# CLUSTER_RESOURCE_GROUP=$(az aks show --resource-group XXX --name YYY --query nodeResourceGroup -o tsv)
# SCALE_SET_NAME=$(az vmss list --resource-group $CLUSTER_RESOURCE_GROUP --query [0].name -o tsv)
# az vmss extension set \
--resource-group $CLUSTER_RESOURCE_GROUP \
--vmss-name $SCALE_SET_NAME \
--name VMAccessForLinux \
--publisher Microsoft.OSTCExtensions \
--version 1.4 \
--protected-settings "{\"username\":\"azureuser\", \"ssh_key\":\"$(cat ~/.ssh/id_rsa.pub)\"}"
# az vmss update-instances --instance-ids '*' \
--resource-group $CLUSTER_RESOURCE_GROUP \
--name $SCALE_SET_NAME
# kubectl get nodes -o wide
# az vm list --resource-group $CLUSTER_RESOURCE_GROUP -o table
# az vm list-ip-addresses --resource-group $CLUSTER_RESOURCE_GROUP -o table
# kubectl run --generator=run-pod/v1 -it --rm aks-ssh --image=debian
// Inside aks-ssh
apt-get update && apt-get install openssh-client -y
// Open another terminal then copy SSH key
# kubectl cp ~/.ssh/id_rsa $(kubectl get pod -l run=aks-ssh -o jsonpath='{.items[0].metadata.name}'):/id_rsa
// Inside aks-ssh again
#chmod 0600 id_rsa
// Connect to vmss/VM:
#ssh -i id_rsa azureuser@10.240.0.4
// -- in VMSS --
// Download Metricbeat(use deb)
# curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.5.0-amd64.deb
# sudo dpkg -i metricbeat-7.5.0-amd64.deb
// Modify metricbeat.yml:
# sudo nano /etc/metricbeat/metricbeat.yml
// Add below in “Elastic Cloud” section
cloud.id: "<--id-->"
cloud.auth: "<--auth-->"
// Enable Kubernetes
# sudo metricbeat modules enable kubernetes
// Modify kubernetes.yml
# sudo nano /etc/metricbeat/modules.d/kubernetes.yml
// Start Metricbeat
# sudo metricbeat setup
# sudo service metricbeat start
\CLUSTER\u RESOURCE\u GROUP=$(az aks show——资源组XXX——名称YYY——查询节点资源组-o tsv)
#SCALE\u SET\u NAME=$(az VMS列表--资源组$CLUSTER\u资源组--查询[0]。NAME-o tsv)
#az VMS扩展集\
--资源组$CLUSTER\u资源组\
--VMS名称$SCALE\u SET\u名称\
--名称VMAccessForLinux\
--发布者Microsoft.OSTCExtensions\
--版本1.4\
--受保护的设置“{\“username\”:“azureuser\”,“ssh\u key\”:\“$(cat~/.ssh/id\u rsa.pub)\”}”
#az VMS更新实例--实例ID“*”\
--资源组$CLUSTER\u资源组\
--名称$SCALE\u SET\u名称
#kubectl获取节点-o宽
#az vm列表--资源组$CLUSTER\u资源组-o表
#az vm列表ip地址--资源组$CLUSTER\u资源组-o表
#kubectl run--generator=run pod/v1-it--rm aks ssh--image=debian
//内部aks ssh
apt-get-update&&apt-get-install-openssh客户端-y
//打开另一个终端,然后复制SSH密钥
#kubectl cp~/.ssh/id_rsa$(kubectl get pod-l run=aks ssh-o jsonpath='{.items[0].metadata.name}'):/id_rsa
//在aks内再次ssh
#chmod 0600 id_rsa
//连接到虚拟机/虚拟机:
#ssh-i id\u rsaazureuser@10.240.0.4
//--在虚拟机中--
//下载Metricbeat(使用deb)
#旋度-L-Ohttps://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.5.0-amd64.deb
#sudo dpkg-i metricbeat-7.5.0-amd64.deb
//修改metricbeat.yml:
#sudo nano/etc/metricbeat/metricbeat.yml
//在“弹性云”部分添加以下内容
cloud.id:“
cloud.auth:“
//启用Kubernetes
#sudo metricbeat模块启用kubernetes
//修改kubernetes.yml
#sudo nano/etc/metricbeat/modules.d/kubernetes.yml
//开始节拍
#sudo节拍设置
#sudo服务节拍启动
您是否在kubectl description pod
输出的“Mounts:”部分指定了该文件?你能从播客上访问那个文件吗?权限是否正确?嗨@Nick,我没有将Elasticsearch安装为pod,而是安装在VM/VMS上。我执行的补充步骤供您参考,谢谢。为什么要在VMS/VM中安装Elasticsearch?实际上,他们没有公共IP,因此您无法通过Internet访问它。如我所见,Elasticsearch的Kubernetes图像中包含了ca.crt。如有必要,可以从图像中复制它。