如何覆盖 aggregate-vector 配置
log-storage-operator 会协调承载 aggregate-vector 以及每个 LogForward 的 Vector 配置的 ConfigMap。每当 ConfigMap 偏离 operator 根据 PlatformLogForward(或 LogForward)推导出的配置时,operator 都会将其修补回去。
对于短期调查或临时变通方案,您可以固定 ConfigMap,使 operator 停止修补它,并保留您的编辑。请在 ConfigMap 上设置 log.alauda.io/user-managed=true annotation。完成后请移除该 annotation;随后 operator 会在下一次协调时根据 CR 重新构建 ConfigMap,您的编辑也将消失。
这是一条应急通道,而不是受支持的配置入口。仅在有明确的短期理由时使用,并在该理由消失后立即移除。
如果您的更改是长期性的,请在 CR spec 上请求一个正式字段(或使用 如何调整 aggregate-vector Sink 中现有的配置项),而不要让该 annotation 在整个版本周期内持续存在。
目录
哪些 ConfigMap 接受该 annotation常见使用场景启用应急通道滚动 pod 使编辑生效停用应急通道平台如何解释 annotation与其他 annotation 的交互升级前相关主题哪些 ConfigMap 接受该 annotation
只有两类 ConfigMap 会使用此 annotation:
operator 管理的其他所有资源(Razor Deployment、Kafka 资源、ServiceAccount、Ingress 以及辅助资源)都会忽略该 annotation,并继续正常进行协调。
常见使用场景
- 添加 CR spec 未提供的 Vector
data_dir或 transform。 - 在调查 Vector bug 时,添加
consolesink 或#!DEBUG块。 - 在复现窗口期间,冻结确切的 Vector 配置。
如果上述任何情况在您的集群中变成常规操作,请请求相应的 CR 字段,并停止使用这条应急通道。
启用应急通道
为要固定的 ConfigMap 添加 annotation:
然后像平常一样编辑 ConfigMap:
log-storage-operator 会跳过下一次协调时的 patch,并记录日志:
滚动 pod 使编辑生效
用户管理的 ConfigMap 发生更改时,Vector pod 不会自动重启,因为 operator 只根据其管理的资源计算 rollout hash。请自行重启 Deployment:
停用应急通道
移除 annotation:
在下一次协调时,operator 会根据 CR spec 重新构建 ConfigMap,并丢弃您的编辑。
平台如何解释 annotation
值比较是有意严格执行的,以避免因意外的拼写错误而静默固定 ConfigMap。
与其他 annotation 的交互
平台使用少量资源级 annotation 来实现不同目的。它们互不冲突,可以共存:
升级前
升级 storage operator 前,请检查是否仍有集群设置了该 annotation。新版 operator 可能会修复行为或提供新的 sink 默认值;固定的 ConfigMap 会使您继续使用旧配置,并可能掩盖该修复。
移除任何不再需要该 annotation 的 ConfigMap 上的 annotation,确认 CR spec 已记录您需要固定的配置,然后再进行升级。
相关主题
- 如何调整 aggregate-vector Sink — 大多数调优需求都可以使用其中支持的配置项。
- 如何使用 LogForward 将日志转发到外部系统 — 用于生成
logforward-<name>-configConfigMap 的 CR。 - 安装 — PLF 创建流程。