Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 如何在Azure Kubernetes服务的VM上修复此Elasticsearch代理?_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Kubernetes_Azure Aks - Fatal编程技术网 elasticsearch 如何在Azure Kubernetes服务的VM上修复此Elasticsearch代理?,elasticsearch,kubernetes,azure-aks,elasticsearch,Kubernetes,Azure Aks" /> elasticsearch 如何在Azure Kubernetes服务的VM上修复此Elasticsearch代理?,elasticsearch,kubernetes,azure-aks,elasticsearch,Kubernetes,Azure Aks" />

elasticsearch 如何在Azure Kubernetes服务的VM上修复此Elasticsearch代理?

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:

我在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: 
        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。如有必要,可以从图像中复制它。