kubernetes应用程序pod无法将pod emptydir卷装载共享到守护程序fluentd pod
我有一个应用程序吊舱,在那里我将日志记录到一个特定位置的文件中 我已经使用emptyDir volumeMount将此位置共享给其他pod 我在我的ELF stack-dashboard中得到了标准的stdout和stderr。如何捕获自定义日志kubernetes应用程序pod无法将pod emptydir卷装载共享到守护程序fluentd pod,kubernetes,fluentd,Kubernetes,Fluentd,我有一个应用程序吊舱,在那里我将日志记录到一个特定位置的文件中 我已经使用emptyDir volumeMount将此位置共享给其他pod 我在我的ELF stack-dashboard中得到了标准的stdout和stderr。如何捕获自定义日志 apiVersion: extensions/v1beta1 kind: DaemonSet metadata: name: elk namespace: default labels: k8s-app: elk-logging
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: elk
namespace: default
labels:
k8s-app: elk-logging
version: v1
kubernetes.io/cluster-service: "true"
spec:
template:
metadata:
labels:
k8s-app: elk-logging
version: v1
kubernetes.io/cluster-service: "true"
spec:
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
containers:
- name: elk
image: fluent/fluentd-kubernetes-daemonset:elasticsearch
env:
- name: FLUENT_ELASTICSEARCH_HOST
value: "cp-os-logging-dashboard"
- name: FLUENT_ELASTICSEARCH_PORT
value: "9200"
- name: FLUENT_ELASTICSEARCH_SCHEME
value: "http"
resources:
limits:
memory: 200Mi
requests:
cpu: 100m
memory: 200Mi
volumeMounts:
- name: logs
mountPath: /home/services/*/logs/
- name: varlog
mountPath: /var/log
- name: varlibdockercontainers
mountPath: /var/lib/docker/containers
readOnly: true
terminationGracePeriodSeconds: 30
volumes:
- name: logs
hostPath:
path: /home/services/*/logs/
- name: varlog
hostPath:
path: /var/log
- name: varlibdockercontainers
hostPath:
path: /var/lib/docker/containers
在这里提问之前,我已经尝试过卷主机路径、emptyDir和其他类型。我只想从守护程序访问我的应用程序日志。我可以在没有守护程序的情况下完成这项工作。Kubernetes将把所有日志发送到节点/var/log等。fluentd daemoset需要hostPath卷来获取日志并发送到日志记录器,顾名思义,当pod被调度到一个节点时,将为空
...
...
volumes:
- name: varlog
hostPath:
path: /var/log
- name: varlibdockercontainers
hostPath:
path: /var/lib/docker/containers
查看和了解更多信息。谢谢。我已经准备好了,现在就开始尝试。仍然不工作。您可以共享您的守护程序yaml吗?