如何将 S3 存储与 ClickHouse 结合使用
本指南介绍如何配置带有 ClickHouse 后端的 Alauda Container Platform Log Storage Management,以便将冷日志数据保存在兼容 S3 的对象存储中。
与 S3 相关的配置项位于 PlatformLogForward(PLF)CR 中,而不在插件安装表单中。通过编辑存储集群上的 PLF 字段启用这些配置项;更改将在 log-storage-operator 完成调谐后生效。
本指南介绍 ACP 管理的 ClickHouse 热 / 冷分层存储。记录处于活动状态时保留在本地磁盘上,热 TTL 到期后移至 S3,并且仍可通过平台进行查询。
这与日志归档工作流无关;后者会将日志导出到平台之外,以满足长期合规保留要求。
目录
准备工作1. 创建 S3 凭证 Secret2. 可选 — 信任 S3 CA3. 在PlatformLogForward 上启用分层存储4. 可选 — 将 S3 作为 ClickHouse 的唯一数据位置项目级冷数据保留注意事项和限制相关主题准备工作
确认目标存储集群:
- 已安装 Alauda Container Platform Log Storage Management 和
PlatformLogForward.spec.externalStorage.type: clickhouse(请参阅安装)。 PlatformLogForward/platform-default处于Ready状态。cpaas-system中的每个 pod 都可以访问兼容 S3 的端点。
此外,您还需要 S3 凭证;如果端点使用带有私有 CA 的 HTTPS,则还需要 CA 证书。
1. 创建 S3 凭证 Secret
在存储集群的 cpaas-system 中,将 S3 凭证存储在 Secret 中。Secret 名称将在下一步中由 PlatformLogForward.spec.clickhouse.s3ColdSecretRef 使用,并且可以是任何符合 DNS 要求的名称。
在存储集群上应用 Secret:
2. 可选 — 信任 S3 CA
如果 S3 端点使用普通的 http://,或其 HTTPS 证书由系统信任的 CA 签名,请跳过此部分。
在 cpaas-system 中创建名称固定为 clickhouse-ca-certificates 的 CA Secret。请勿更改 Secret 名称、命名空间或键名称;只需替换证书内容。
应用:
3. 在 PlatformLogForward 上启用分层存储
编辑 PLF 并设置分层存储字段。每个字段都位于 spec.clickhouse 中:
添加或替换:
保存并退出。log-storage-operator 会运行 schema-migrations Job,以应用新的存储策略和 TTL 设置;请监控 PLF 状态,直到其恢复为 Ready:
4. 可选 — 将 S3 作为 ClickHouse 的唯一数据位置
通过在 ClickHouseInstallation 中将 ClickHouse 存储策略设置为仅使用 S3 的策略,然后通过 spec.clickhouse.s3DataSecretRef 让 PlatformLogForward 指向同一个 Secret,启用 S3 作为 ClickHouse 的唯一数据位置(不使用本地热层)。
此模式适用于评估,或适用于本地磁盘成本占主导的备份场景。由于每次查询都需要往返 S3,因此会牺牲查询延迟。
- 即使在仅使用 S3 的模式下,ClickHouse 元数据仍存储在本地存储中(或 ClickHouseInstallation 的
StorageClass中)。元数据性能仍然很重要:请为元数据卷规划持续的≥ 200 MiB/s读写吞吐量,以确保合并和插入正常运行。 - 尽可能优先使用
LocalVolume存储元数据;如果必须使用StorageClass,请选择高性能后端。
项目级冷数据保留
项目级覆盖设置允许你将某些项目的日志保留更长(或更短)的时间,而不是使用 PLF 的默认设置。请参阅如何设置项目冷数据的保留时间。
注意事项和限制
- 每个 PLF 仅支持一个冷数据 Secret 和一个数据平面 Secret。请将两者指向同一个 S3 存储桶,或指向同一 S3 端点中的两个存储桶。
- 不要以明文形式暴露 S3 访问密钥;请将其保存在
Secret资源中,并从该资源加载。 - 禁用分层存储必须重新部署 ClickHouse 表布局。请在拥有生产数据之前规划好这一选择。
- 安装后可以调整冷数据 TTL;更改将在下一次 reconcile 时生效。
- 冷数据保留行为不同于日志归档。有关归档路径,请参阅如何将日志归档到第三方存储。
- 在灾难恢复场景中,不要让主 ClickHouse 集群和备用 ClickHouse 集群指向同一个 S3 存储桶。
相关主题
- 安装 — PLF 创建流程。
- 如何设置项目冷数据的保留时间 — 项目级覆盖设置。
- 日志组件选择指南 — 何时选择 ClickHouse 而不是 OpenSearch 或 Elasticsearch。