Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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
Amazon web services AWS上的Kubernetes与kube-up.sh无日志_Amazon Web Services_Logging_Kubernetes_Fluentd - Fatal编程技术网

Amazon web services AWS上的Kubernetes与kube-up.sh无日志

Amazon web services AWS上的Kubernetes与kube-up.sh无日志,amazon-web-services,logging,kubernetes,fluentd,Amazon Web Services,Logging,Kubernetes,Fluentd,我正在使用kube-up.sh(v1.3.4)和AWS作为提供程序来设置集群。一切都很好,我唯一的问题是我没有看到我的日志(在Kibana和Elsaticsearch中)。如果我将docker连接到fluentd elasticsearch容器中,则我拥有: 在/var/logs/containers中,我看到一个符号链接,指向我节点上运行的每个POD的日志文件,例如: elasticsearch-logging-v1-9lwly_kube-system_POD-3bb54515d4e0e479

我正在使用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/3BB54515D4E0E479C37C35AA6675FDFE2970233E095420E2116C2F633AB50 json.log

但是,
/mnt
在我的
fluentd elasticsearch
容器中是空的。所以所有的符号链接都是错误的

我想这只是因为
/mnt/ephemeral
没有绑定到
fluentd elasticsearch
容器中。我在kubernetes方面还不够高级,不知道在哪里解决这个问题,而且可能是一个bug,因为我使用了标准过程来设置集群

如果我在pod上运行
kubectl description
,我会得到:

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.
Name:fluentd-elasticsearch-ip-172-20-0-168.eu-west-1.compute.internal
名称空间:kube系统
节点:ip-172-20-0-168.eu-west-1.compute.internal/172.20.0.168
开始时间:2016年9月2日星期五17:15:03+0200
标签:k8s app=fluentd日志
状态:正在运行
IP:10.244.3.2
控制器:
容器:
fluentd elasticsearch:
容器ID:docker://d376a900ef770e65dfbf75bf5bc1c711c650868bb4e4ea74002818852a81aa04
图片:gcr.io/google_containers/fluentd elasticsearch:1.17
图像ID:docker://sha256:e74f564e4c316e0f6baebf838015f516e26d7501c96ead5f115523ff80c614fd
端口:
限制:
内存:200Mi
请求:
中央处理器:100米
内存:200Mi
状态:正在运行
开始时间:2016年9月2日星期五17:15:36+0200
准备好了吗
重新启动计数:0
环境变量:
条件:
类型状态
初始化为True
准备好了吗
播客预定为真
卷数:
varlog:
类型:主机路径(裸主机目录卷)
路径:/var/log
varlibdockercontainers:
类型:主机路径(裸主机目录卷)
路径:/var/lib/docker/containers
QoS层:Burstable
没有事件。
因此,显然卷是错误的(
/var/lib/docker/containers
而不是
/mnt/ephemeral/docker/containers


我在哪里/如何修复此问题?是否应将其报告为k8s repos中的错误?

我正在使用群集插件进行机架空间设置,而不是aws设置。但基本上,您需要查找kubernetes部署文件。在机架空间的情况下,您需要一个守护程序集,而不是复制控制器,我打赌aws的构建方式是相同的

您需要添加到部署yaml文件:

containers:
        ...
        volumeMounts:
        - name: mntephemeraldockercontainers
          mountPath: /mnt/ephemeral/docker/containers
          readOnly: true
        ...
        volumes:
        - name: mntephemeraldockercontainers
          hostPath:
              path: /mnt/ephemeral/docker/containers
为什么?pod中的Fluentd读取路径/var/log/containers/*这是一个指向容器中“deak end”的符号链接,因为/mnt/ephemeral/docker/containers没有安装在那里。它只存在于主机上。因此,将其安装在中将使Fluentd能够读取文件

注意:您可能也需要让kubernetes元数据插件正常工作

rgds,
j

我正在使用群集插件进行rackspace设置,而不是aws设置。但基本上,您需要查找kubernetes部署文件。在rackspace的情况下,您需要的是守护程序集,而不是复制控制器,我打赌aws的构建方式是相同的

您需要添加到部署yaml文件:

containers:
        ...
        volumeMounts:
        - name: mntephemeraldockercontainers
          mountPath: /mnt/ephemeral/docker/containers
          readOnly: true
        ...
        volumes:
        - name: mntephemeraldockercontainers
          hostPath:
              path: /mnt/ephemeral/docker/containers
为什么?pod中的Fluentd读取路径/var/log/containers/*这是一个指向容器中“deak end”的符号链接,因为/mnt/ephemeral/docker/containers没有安装在那里。它只存在于主机上。因此,将其安装在中将使Fluentd能够读取文件

注意:您可能也需要让kubernetes元数据插件正常工作

rgds, j