feat: centralized K8s infra — dev/prod environments

This commit is contained in:
admin
2026-07-26 21:33:02 +08:00
commit 9ebafb97fb
15 changed files with 613 additions and 0 deletions
+84
View File
@@ -0,0 +1,84 @@
# LPT Infrastructure
Kubernetes 部署清单,按环境隔离。
```
lpt-infra/
├── dev/
│ ├── deployment-lpt-fe.yaml
│ ├── deployment-lpt-be.yaml
│ ├── deployment-lpt-ai.yaml
│ ├── service-lpt-ai.yaml
│ ├── configmap.yaml
│ ├── lpt-secrets.yaml (template)
│ └── regcred-secret.yaml (template)
├── prod/
│ ├── deployment-lpt-fe.yaml
│ ├── deployment-lpt-be.yaml
│ ├── deployment-lpt-ai.yaml
│ ├── service-lpt-ai.yaml
│ ├── configmap.yaml
│ ├── lpt-secrets.yaml (template)
│ └── regcred-secret.yaml (template)
└── README.md
```
## 首次部署
### 1. 创建 namespace
```bash
kubectl create namespace lpt-dev
kubectl create namespace lpt-prod
```
### 2. 创建 Secret(模板不包含真实值,需手动创建)
```bash
# dev
kubectl create secret generic lpt-secrets \
--from-literal=llm-api-key=sk-xxx \
--from-literal=mysql-root-password=xxx \
-n lpt-dev
kubectl create secret docker-registry regcred \
--docker-server=192.168.123.199:5000 \
--docker-username=admin \
--docker-password=xxx \
-n lpt-dev
# prod
kubectl create secret generic lpt-secrets \
--from-literal=llm-api-key=sk-xxx \
--from-literal=mysql-root-password=xxx \
-n lpt-prod
kubectl create secret docker-registry regcred \
--docker-server=192.168.123.199:5000 \
--docker-username=admin \
--docker-password=xxx \
-n lpt-prod
```
### 3. Apply 全部配置
```bash
# dev
kubectl apply -f dev/
# prod
kubectl apply -f prod/
```
## 日常更新(CI/CD
CI/CD 流程使用 `kubectl set image` 更新镜像,仓库内 `imagePullSecrets` 已配置,无需额外操作。
```bash
kubectl set image deployment/lpt-fe lpt-fe=192.168.123.199:5000/lpt-fe:<TAG> -n lpt-dev
kubectl set image deployment/lpt-be lpt-be=192.168.123.199:5000/lpt-be:<TAG> -n lpt-dev
kubectl set image deployment/lpt-ai lpt-ai=192.168.123.199:5000/lpt-ai:<TAG> -n lpt-dev
```
## 验证
```bash
kubectl get pods -n lpt-dev
kubectl get pods -n lpt-prod
```