我正在使用kube-up.sh(v1.3.4)以AWS作为提供者来设置群集。一切都很好,我唯一的问题是我没有看到我的日志(在Kibana和Elsaticsearch)。如果我将docker附加到fluentd-elasticsearch容器中,这就是我所拥有的:
在/var/logs/containers
中的我看到节点上运行的每个pod的日志文件的符号链接,例如:
elasticsearch-logging-v1-9lwly_kube-system_POD-3bb54515d4e0e479c39cb7c35aa6675fdfe2970233e095420e2116c2f633ab50.log
是
的符号链接 /mnt/ephemeral/docker/containers/3bb54515d4e0e479c39cb7c35aa6675fdfe2970233e095420e2116c2f633ab50/3bb54515d4e0e479c39cb7c35aa6675fdfe2970233e095420e2116c2f633ab50-json.log
但是,/mnt
容器中fluentd-elasticsearch
为空。所以所有符号链接都是错误的。
我想这只是/mnt/ephemeral
未绑定挂载在fluentd-elasticsearch
容器中。我在kubernetes中不够先进,无法知道在哪里修复它,并且可能是一个错误,因为我使用标准程序来设置我的集群。
如果我在pod上运行kubectl describe
,我会得到:
Name: fluentd-elasticsearch-ip-172-20-0-168.eu-west-1.compute.internal
Namespace: kube-system
Node: ip-172-20-0-168.eu-west-1.compute.internal/172.20.0.168
Start Time: Fri, 02 Sep 2016 17:15:03 +0200
Labels: k8s-app=fluentd-logging
Status: Running
IP: 10.244.3.2
Controllers: <none>
Containers:
fluentd-elasticsearch:
Container ID: docker://d376a900ef770e65dfbf75bf5bc1c711c650868bb4e4ea74002818852a81aa04
Image: gcr.io/google_containers/fluentd-elasticsearch:1.17
Image ID: docker://sha256:e74f564e4c316e0f6baebf838015f516e26d7501c96ead5f115523ff80c614fd
Port:
Limits:
memory: 200Mi
Requests:
cpu: 100m
memory: 200Mi
State: Running
Started: Fri, 02 Sep 2016 17:15:36 +0200
Ready: True
Restart Count: 0
Environment Variables: <none>
Conditions:
Type Status
Initialized True
Ready True
PodScheduled True
Volumes:
varlog:
Type: HostPath (bare host directory volume)
Path: /var/log
varlibdockercontainers:
Type: HostPath (bare host directory volume)
Path: /var/lib/docker/containers
QoS Tier: Burstable
No events.
所以很明显卷是错误的(/var/lib/docker/containers
而不是/mnt/ephemeral/docker/containers
。
我在哪里/如何解决这个问题?这应该报告为k8s repos中的错误吗?
答案 0 :(得分:0)
我正在使用群集插件进行机架设置,而不是aws。但是,您需要查找kubernetes部署文件。在rackspace的情况下你需要一个守护进程集,而不是复制控制器,我敢打赌AWS的东西是以相同的方式构建的。
您需要添加到部署yaml文件:
<link rel="stylesheet" href='index-02.css'
media="screen and (min-width: 481px) and (max-width:959px)">
为什么呢?在pod中流畅地读取路径/ var / log / containers / *这是一个指向&#34; deak end&#34;的符号链接。在容器内,因为/ mnt / ephemeral / docker / containers没有安装在那里。它只存在于主机上。因此,安装它将使流畅的人能够读取文件。
注意:您可能还需要使kubernetes元数据插件正常工作。
RGDS, Ĵ