VictoriaLogs 集群 Helm 部署笔记(测试环境)
记录时间:2026-09-22
环境:测试集群 xc-test(信创 ARM64)、helm 4.1.3、chart victoria-logs-cluster 0.2.8(appVersion v1.52.0)、namespace monitoring
一、背景
监控体系里指标侧已经统一到 VictoriaMetrics,日志侧还是空缺。这次我把 VictoriaLogs 集群版立起来,先测试环境跑通,验证后再平移生产。参考了 i4t.com/25770 的部署文章,配置以官方 chart 的 values 为准,没有照抄博客。
部署形态与 VM 集群一致:只对外暴露 vmauth,vlinsert/vlselect/vlstorage 全部保持 ClusterIP。
| 组件 | 端口 | 职责 |
|---|---|---|
| vlinsert | 9481 | 收日志(jsonline 等协议) |
| vlselect | 9471 | 查询(LogsQL / vmui / Grafana) |
| vlstorage | 9491(headless) | 存储(StatefulSet + PVC) |
| vmauth | 8427 | 认证 + 写读分流入口 |
二、操作过程
2.1 chart 下载
helm repo add victoriametrics https://victoriametrics.github.io/helm-charts/ && helm repo update
helm pull victoriametrics/victoria-logs-cluster --version 0.2.8
锁 0.2.8 版本,tgz 不入库,仓库只留 values/run.sh/pull.sh 三个文件。
2.2 镜像中转
信创环境没有外网直连,两个镜像经 skopeo 转到 Harbor:
skopeo copy --insecure-policy docker://docker.ajunyunwei.xyz/victoriametrics/victoria-logs:v1.52.0 docker://reg-hub.gzeport.com/library/victoriametrics/victoria-logs:v1.52.0
skopeo copy --insecure-policy docker://docker.ajunyunwei.xyz/victoriametrics/vmauth:v1.143.0 docker://reg-hub.gzeport.com/library/victoriametrics/vmauth:v1.143.0
2.3 values.yaml 关键配置
| 参数 | 值 | 说明 |
|---|---|---|
| global.image.registry | reg-hub.gzeport.com/library | Harbor 中转仓库 |
| common.image.tag | v1.52.0 | 三组件统一 tag(同一镜像不同子命令运行) |
| vlstorage.retentionPeriod | 90d | 试点保留期,生产沿用 VM 惯例 180d |
| vlstorage.persistentVolume | 50Gi / k8s-data | 测试集群存储类 |
| vmauth.config | users 内联 | 认证与路由直接写在 values,chart 自动创建 Secret |
| vmauth.ingress | vmlogs.gzeport.com | 对外入口,只暴露 vmauth |
| 各组件 env | TZ=Asia/Shanghai | 四组件都配时区 |
认证与 Ingress 全部收进 values 内联配置,不再单独建 Secret/Ingress 文件,helm 部署时自动生成。
2.4 部署
helm upgrade --install victoria-logs ./victoria-logs-cluster-0.2.8.tgz -n monitoring -f values.yaml
我执行 helm upgrade –install,一次成功。Release 名 victoria-logs,生成的资源名前缀 victoria-logs-victoria-logs-cluster-*。
三、验证
# 四个 Pod 全部 Running
kubectl -n monitoring get pods | grep victoria-logs
# PVC 绑定成功
kubectl -n monitoring get pvc | grep vlstorage
我测了 vmui 访问,basic auth 认证后正常进入:http://vmlogs.gzeport.com/select/vmui/。
多租户验证按官方 Header 方式(详见 TENANTS.md),写入与查询都带 AccountID / ProjectID 请求头,默认租户是 0:0。
四、注意事项 / 常见问题
- 镜像 tag 以官方镜像仓库为准,不要凭其他组件的命名习惯推断
- vmui 的租户切换用 URL 锚点参数(
/select/vmui/#/?accountID=1&projectID=0),租户不进路径(/select/1:0/vmui/会报 unsupported path requested) - 租户指定只有 HTTP 请求头一种方式,不存在 URL 租户段写法(官方 multitenancy 文档确认)
- 与 VM 现网共存不冲突:VM 的 vmauth 是 operator 前缀式命名(
vmauth-vmauth),VL chart 是 helm fullname 命名(victoria-logs-victoria-logs-cluster-vmauth),同名空间互不干扰 - 租户是逻辑隔离,共享 vlstorage 资源,容量要按全租户总量规划
五、参考资料
- victoria-logs-cluster chart(官方)
- VictoriaLogs data ingestion
- VictoriaLogs multitenancy
- VictoriaLogs 集群部署(i4t.com/25770)
- 仓库内配套:
victoria-logs/xc-test/(values/run.sh/pull.sh)、victoria-logs/TENANTS.md(租户规范)