我试着设置灰测井。
这个部署是有效的。但是我需要为灰色日志部署添加一个卷。因为我想安装插件。当我添加卷(hostPath)和开始结荚时,在我的荚中会出现一个错误:
ERROR StatusLogger File not found in file system or classpath: /usr/share/graylog/data/config/log4j2.xml
ERROR StatusLogger Reconfiguration failed: No configuration found for '70dea4e' at 'null' in 'null'
06:37:19.707 [main] ERROR org.graylog2.bootstrap.CmdLineTool - Couldn't load configuration: Properties file /usr/share/graylog/data/config/graylog.conf doesn't exist!我明白了,这个豆荚在数量上创建目录(所有者id 1100:1100),但是那里没有任何文件。
在我的Kubernetes集群中,kubernetes的版本是1.20运行时,是“收集器”。
我的Graylog dе策略:
volumeMounts:
- mountPath: /usr/share/graylog/data
name: graylog-data volumes:
- name: graylog-data
hostPath:
path: /mnt/k8s-storage/graylog-data
type: DirectoryOrCreate发布于 2021-02-17 13:08:59
从hostPath卷的概念开始,这里几乎没有什么可看的:
hostPath卷将文件或目录从主机节点的文件系统挂载到Pod中。 配置相同的荚(例如从PodTemplate创建的)在不同节点上的行为可能因节点上的文件不同而有所不同。 在基础主机上创建的文件或目录只能由根用户写入。您需要在特权容器中以根用户身份运行进程,或者修改主机上的文件权限,以便能够写入hostPath卷
例如,如果您希望将hostPath用于运行在DaemonSet中的日志收集器,那么它将是很好的,但在您描述的用例中,它可能并不理想,因为您没有直接控制您的荚将在哪个节点上运行,因此不能保证在具有数据卷的节点上实际调度结荚。
但是如果不是这样的话,您还需要注意到在这里type: DirectoryOrCreate并不是最好的,因为我看到您想要加载一个文件。最好使用以下两种方法:
File:文件必须存在于给定的路径上或
FileOrCreate:如果在给定路径上不存在任何内容,将根据需要在那里创建一个空文件,权限设置为0644,与Kubelet拥有相同的组和所有权。最后,可能存在权限问题。如前所述:
在基础主机上创建的文件或目录只能由根用户写入。
https://stackoverflow.com/questions/66133533
复制相似问题