如何在Kubernetes中模拟“–log-driver = syslog”

通过docker,我可以通过log-driver = syslog命令行选项将容器日志转发到syslog。 如何通过Kubernetes yaml / json描述符传递这些docker参数?

从可用的文档开始:对于日志和卷 。 把这两个来源合在一起,我们得到如下的东西:

... containers: - name: syslogtest image: ubuntu:14.04 volumeMounts: - name: logvol mountPath: /dev/log readOnly: false volumes: - name: logvol source: hostDir: path: /dev/log ... 

我不认为kubernetes需要在pod json文件中做这样的–log-driver选项。 根据我的经验,您可以在docker服务中设置这样的设置。 即检查

 /etc/systemd/system/docker.service 

并设置ExecStart = / usr / bin / docker守护进程–log-driver = json-file blablabla。 更多的信息可以在这里得到: https : //docs.docker.com/engine/admin/logging/overview/#configure-logging-drivers

更进一步的,如果你不设置这个–log-driver,默认情况下将会创buildjson文件,这个文件将你的容器的所有日志收集到kubernetes中,你可以find这些文件

 your_docker_runtime_root/docker/containers/container_id/container_id-json.json