Kubernetes Fluentd未从ConfigMap加载配置
我使用Fluentd作为一个侧车,将nginx日志发送到stdout,以便它们显示在Pod的日志中。我有一个奇怪的问题,Fluentd在容器启动时没有拾取配置 检查Fluentd启动日志后,似乎未加载配置。当容器启动时,应该从/etc/fluentd config/fluentd.conf加载配置。我已经连接到容器,配置文件正确,pv挂载也正确。环境变量也存在 下面是完整的部署规范,如果您想玩的话,它是自包含的Kubernetes Fluentd未从ConfigMap加载配置,kubernetes,fluentd,Kubernetes,Fluentd,我使用Fluentd作为一个侧车,将nginx日志发送到stdout,以便它们显示在Pod的日志中。我有一个奇怪的问题,Fluentd在容器启动时没有拾取配置 检查Fluentd启动日志后,似乎未加载配置。当容器启动时,应该从/etc/fluentd config/fluentd.conf加载配置。我已经连接到容器,配置文件正确,pv挂载也正确。环境变量也存在 下面是完整的部署规范,如果您想玩的话,它是自包含的 apiVersion: v1 kind: List items: - apiVers
apiVersion: v1
kind: List
items:
- apiVersion: v1
kind: PersistentVolume
metadata:
name: weblog-pv
labels:
type: local
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
hostPath:
path: /tmp/weblog
type: DirectoryOrCreate
capacity:
storage: 500Mi
- apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: weblog-pvc
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 200Mi
- apiVersion: v1
kind: ConfigMap
metadata:
name: fluentd-config
data:
fluentd.conf: |
<source>
@type tail
format none
path /var/log/nginx/access.log
tag count.format1
</source>
<match *.**>
@type forward
<server>
name localhost
host 127.0.0.1
</server>
</match>
- apiVersion: v1
kind: Pod
metadata:
name: sidecar-example
labels:
app: webserver
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
volumeMounts:
- name: logging-vol
mountPath: /var/log/nginx
- name: fdlogger
env:
- name: FLUENTD_ARGS
value: -c /etc/fluentd-config/fluentd.conf
image: fluent/fluentd
volumeMounts:
- name: logging-vol
mountPath: /var/log/nginx
- name: log-config
mountPath: /etc/fluentd-config
volumes:
- name: logging-vol
persistentVolumeClaim:
claimName: weblog-pvc
- name: log-config
configMap:
name: fluentd-config
- apiVersion: v1
kind: Service
metadata:
name: sidecar-svc
spec:
selector:
app: webserver
type: NodePort
ports:
- name: sidecar-port
port: 80
nodePort: 32000
apiVersion:v1
种类:列表
项目:
-版本:v1
种类:PersistentVolume
元数据:
名称:博客pv
标签:
类型:本地
规格:
storageClassName:手动
访问模式:
-读写
主机路径:
路径:/tmp/weblog
类型:目录或创建
容量:
储存量:500毫升
-版本:v1
种类:PersistentVolumeClaim
元数据:
名称:博客
规格:
storageClassName:手动
访问模式:
-读写
资源:
请求:
储存量:200毫升
-版本:v1
种类:配置地图
元数据:
名称:fluentd配置
数据:
fluentd.conf:|
@型尾
无格式
path/var/log/nginx/access.log
标记计数.1
@打字前进
名称本地主机
主机127.0.0.1
-版本:v1
种类:豆荚
元数据:
名称:侧车示例
标签:
应用程序:Web服务器
规格:
容器:
-姓名:nginx
图片:nginx:latest
端口:
-集装箱港口:80
体积数量:
-名称:日志卷
挂载路径:/var/log/nginx
-姓名:fdlogger
环境:
-姓名:FLUENTD_ARGS
值:-c/etc/fluentd config/fluentd.conf
图片:fluent/fluentd
体积数量:
-名称:日志卷
挂载路径:/var/log/nginx
-名称:日志配置
挂载路径:/etc/fluentd配置
卷数:
-名称:日志卷
persistentVolumeClaim:
索赔名称:weblog pvc
-名称:日志配置
配置映射:
名称:fluentd配置
-版本:v1
种类:服务
元数据:
名称:侧车svc
规格:
选择器:
应用程序:Web服务器
类型:节点端口
端口:
-名称:侧车端口
港口:80
节点端口:32000
我通过使用stdout而不是重定向到localhost使其工作
- apiVersion: v1
kind: ConfigMap
metadata:
name: fluentd-config
data:
fluent.conf: |
<source>
@type tail
format none
path /var/log/nginx/access.log
tag count.format1
</source>
<match *.**>
@type stdout
</match>
-apiVersion:v1
种类:配置地图
元数据:
名称:fluentd配置
数据:
fluent.conf:|
@型尾
无格式
path/var/log/nginx/access.log
标记计数.1
@类型标准输出
你把这个修好了吗。在可能的情况下,我给出的configmap数据也没有被考虑。