feat: 品牌统一 LokiStack + 全站中英 i18n + 用户批量删除 + 主题定时切换与浅色侧栏
- 品牌: Go 模块/数据文件/二进制/构建部署资产全部 opsx→lokistack;前端 localStorage 命名空间迁移(读旧写新,含按用户 id 前缀迁移);修复 nginx upstream 与 Makefile 引用已改名服务的断裂 - i18n: react-i18next 落地,common + 11 个页面域命名空间全站中英(菜单/顶栏/登录/列表页/表单/确认弹窗/状态徽章);设置页语言即时切换;修复词典自注册导致的循环导入白屏 - 用户管理: 批量删除(POST /users/batch-delete,不删自己/最后管理员,部分失败不阻断)+ 行复选/全选/批量工具条 - 主题: 浅色侧栏(中性灰激活态)、四态模式(浅色/深色/跟随系统/定时切换,按时区判定)、顶栏太阳月亮二态、设置页紧凑分段选择器 - UI: 登录记住用户名、CardActionButton 统一五页卡片操作钮、shadcn Badge 替换手写徽章、语义色修正 - 清理: 移除主机 Web 终端(前后端)、k8s-helm/Helm 遗留代码与字段、README 重写精简 - 修复: 侧栏与日志告警 order 重复、路由标题 i18n key 未翻译、词典双逗号等
This commit is contained in:
1 parent
02d1bd87a7
commit
f3733f0bfc
201 files changed
+5438
-2388
No files matched your search
@@ -161,7 +161,7 @@ kubectl get pv lokistack-data-pv -o custom-columns=\
|
||||
# 2) 去那台节点上看
|
||||
NODE=<上面的 NODE 值>
|
||||
ssh root@${NODE} 'ls -la /var/lib/lokistack-data/'
|
||||
# 应看到:opsxloki.json kubeconfigs/ known_hosts
|
||||
# 应看到:lokistack.json kubeconfigs/ known_hosts
|
||||
```
|
||||
|
||||
### 备份(不用停机)
|
||||
@@ -173,7 +173,7 @@ ssh root@${NODE} "tar czf /tmp/lokistack-backup-${TS}.tar.gz -C /var/lib lokista
|
||||
scp root@${NODE}:/tmp/lokistack-backup-${TS}.tar.gz ./
|
||||
```
|
||||
|
||||
> `opsxloki.json` 写入是原子的(临时文件 + fsync + rename),**热备份安全**,不用停 Pod。
|
||||
> `lokistack.json` 写入是原子的(临时文件 + fsync + rename),**热备份安全**,不用停 Pod。
|
||||
|
||||
### 迁移到另一台节点
|
||||
|
||||
@@ -319,7 +319,7 @@ kubectl -n log get ingress lokistack
|
||||
|
||||
## 持久化(重要)
|
||||
|
||||
- `/app/data` 挂 PVC,保存 `opsxloki.json`、`kubeconfigs/`、`known_hosts`。
|
||||
- `/app/data` 挂 PVC,保存 `lokistack.json`、`kubeconfigs/`、`known_hosts`。
|
||||
- **必须 `replicas: 1` + `strategy: Recreate`**:JSON DB 是单写者;滚动更新时两个 Pod
|
||||
同时挂同一个 RWO PVC 会互相覆盖。
|
||||
- DB 写入本身是原子的(临时文件 + fsync + rename),容器被杀不会写坏文件。
|
||||
@@ -358,7 +358,7 @@ spec:
|
||||
|
||||
平台的 JSON DB 单写者,**不要两个实例共用同一份数据卷**。要么:
|
||||
|
||||
- 集群内新实例 + 迁移旧 `opsxloki.json`(停旧实例后拷贝);或
|
||||
- 集群内新实例 + 迁移旧数据文件(停旧实例后拷贝);或
|
||||
- 保留外部实例做带外管理,集群内实例使用独立数据卷(两套数据)。
|
||||
|
||||
---
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# 关键约束:
|
||||
# 1) replicas 必须为 1:JSON DB 为单写者,多副本会互相覆盖。
|
||||
# 2) strategy 必须为 Recreate:RollingUpdate 期间会同时存在两个 Pod 挂同一个
|
||||
# RWO PVC,两个进程同时写 opsxloki.json 会导致数据丢失。
|
||||
# RWO PVC,两个进程同时写数据文件会导致数据丢失。
|
||||
# 3) /app/data 必须挂 PVC,否则重启后 DB / kubeconfig / known_hosts 全丢。
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# 平台数据卷:opsxloki.json(JSON DB) + kubeconfigs + known_hosts。
|
||||
# 平台数据卷:lokistack.json(JSON DB) + kubeconfigs + known_hosts。
|
||||
# storageClassName 留空 = 使用集群默认 SC:
|
||||
# AWS EBS(gp3) / 腾讯云 CBS / 华为云 EVS / 阿里云 ESSD 均可;
|
||||
# 若集群没有默认 SC,在这里填对应云的 SC 名称。
|
||||
|
||||
Reference in new issue
Block a user