自己 k8s 知识欠缺,属于是一步一个坑。当前按照以下方式跑通了,但是不知道是不是最优解,所以想请教下大家。
(1)申请一块独立的存储卷(声明?)
(2)promtail 以守护进程运行,1.挂载存储卷到自己的目录下; 2.设置该目录为搜集日志目录;
(3)业务应用挂载同一块存储卷,并将日志写入;
为什么觉得不是最优解?
因为感觉好像不需要挂载存储卷也可以实现。
目前方式存在的问题?
挂载了同一块存储卷,promtail 读取路径是固定的,比如 /data/logs,导致应用写日志时,日志文件名不能重复,比如 A 、B 两个应用正常输出 log 文件名都叫 info.log,如重复,则会出现 B 覆盖 A 的情况;
这种方式就要求 A 、B 要以不同的文件名来命名,并且当 A 有多个实例的时候,还要以一定规则去命名或者可以取容器名?