From 4bda9d6ba2803398b5e2d3a04664e6fce13d93bb Mon Sep 17 00:00:00 2001 From: cat-shark <1716967236@qq.com> Date: Sun, 19 Jul 2026 23:07:49 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E4=BF=9D=E5=AD=98=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=E6=B5=81=E6=B0=B4=E7=BA=BF=E9=97=AE=E9=A2=98=E6=8E=92=E6=9F=A5?= =?UTF-8?q?=E8=BF=9B=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DEPLOYMENT_PROGRESS.md | 100 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 DEPLOYMENT_PROGRESS.md diff --git a/DEPLOYMENT_PROGRESS.md b/DEPLOYMENT_PROGRESS.md new file mode 100644 index 0000000..6300937 --- /dev/null +++ b/DEPLOYMENT_PROGRESS.md @@ -0,0 +1,100 @@ +# 部署流水线问题排查进度 + +**日期**: 2026-07-19 + +## 问题概述 + +K8s 部署时出现 `ImagePullBackOff` 错误,容器无法拉取私有 Registry 镜像。 + +## 根本原因 + +**Docker Registry 认证问题**: +- Registry (`192.168.123.199:5000`) 需要认证(用户名: `admin`) +- Gitea Actions workflow 使用 `secrets.REGISTRY_USERNAME` 和 `secrets.REGISTRY_PASSWORD` +- **这两个 secrets 在 Gitea 项目中尚未配置**,导致: + 1. workflow 的 `docker login` 失败 + 2. `docker push` 虽然执行但实际未推送成功 + 3. K8s 拉取镜像时认证失败 → `authorization failed: no basic auth credentials` + +## 已完成的修复 + +### 1. Gitea Actions 配置修复(已推送) +- ✅ **lpt-fe**: 修复 `github.sha` → `gitea.sha` +- ✅ **lpt-be**: 修复 `github.sha` → `gitea.sha`,kubectl 版本改为 `v1.30.0` +- ✅ **lpt-ai**: 修复 `github.sha` → `gitea.sha`,kubectl 版本改为 `v1.30.0` + +### 2. K8s Deployment 修复(已推送) +- ✅ 所有 Deployment YAML 添加 `imagePullSecrets: [name: regcred]` +- ✅ workflow 自动创建 `regcred` secret(使用 Gitea secrets) + +### 3. Git 合并冲突 +- ⚠️ **lpt-ai** 和 **lpt-be** 的 workflow 文件存在合并冲突标记 +- 需要手动解决冲突后重新提交 + +## 待完成任务 + +### 关键步骤:配置 Gitea Secrets + +需要在 Gitea 中为每个项目添加 Registry 认证信息: + +**项目列表**: +- `lpt-fe` +- `lpt-be` +- `lpt-ai` + +**操作步骤**(每个项目重复): +1. 进入项目页面(如 `http://192.168.123.199:3000/cat/lpt-fe`) +2. Settings → Secrets +3. 添加两个 secrets: + - Name: `REGISTRY_USERNAME`, Value: `admin` + - Name: `REGISTRY_PASSWORD`, Value: `` + +**Registry 密码位置**: `/vol1/1000/registry/auth/htpasswd`(服务器 `192.168.123.199`) + +### 次要任务 + +1. **解决 Git 合并冲突** + - 文件: `lpt-ai/.gitea/workflows/deploy.yml:34-40` + - 文件: `lpt-be/.gitea/workflows/deploy.yml:43-48` + - 清理 `<<<<<<< HEAD`, `=======`, `>>>>>>> xxx` 标记 + +2. **验证部署** + - 配置 secrets 后触发一次提交 + - 检查 workflow 日志中 `docker login` 和 `docker push` 是否成功 + - 检查 K8s Pod 是否正常启动:`kubectl get pods -n lpt` + +## 其他发现的问题(非紧急) + +### Jenkins 流水线(lpt-fe, lpt-be) +- 硬编码镜像标签(`0.0`),无法追溯版本 +- lpt-be 健康检查时间过短(5秒),Spring Boot 启动通常需要 10-30 秒 +- lpt-be Docker 网络配置可能冲突 + +### 流水线通用问题 +- 缺少镜像清理机制 +- 缺少部署失败回滚机制 + +## 技术细节 + +### Registry 认证验证 +```bash +curl -I http://192.168.123.199:5000/v2/ +# 返回: 401 Unauthorized +# Www-Authenticate: Basic realm="Registry Realm" +``` + +### htpasswd 文件内容 +``` +admin:$2y$05$PlW.emHsl9qePGTsQPNAzecCkyNWKFO252EpjcRNV9vC8Z9AkGGZ. +``` + +## 下一步操作清单 + +1. [ ] 在 Gitea 中配置 3 个项目的 Registry secrets +2. [ ] 解决 lpt-ai 和 lpt-be 的 workflow 合并冲突 +3. [ ] 提交修复并触发 workflow +4. [ ] 验证部署成功 + +--- + +**备注**: 所有 K8s 配置文件修改已完成并推送到 Gitea,核心问题在于 Gitea Secrets 配置缺失。