85 lines
1.9 KiB
Markdown
85 lines
1.9 KiB
Markdown
# LPT Infrastructure
|
||
|
||
Kubernetes 部署清单,按环境隔离。
|
||
|
||
```
|
||
lpt-infra/
|
||
├── dev/
|
||
│ ├── deployment-lpt-fe.yaml
|
||
│ ├── deployment-lpt-be.yaml
|
||
│ ├── deployment-lpt-ai.yaml
|
||
│ ├── service-lpt-fe.yaml
|
||
│ ├── service-lpt-be.yaml
|
||
│ ├── service-lpt-ai.yaml
|
||
│ └── configmap.yaml
|
||
├── prod/
|
||
│ ├── deployment-lpt-fe.yaml
|
||
│ ├── deployment-lpt-be.yaml
|
||
│ ├── deployment-lpt-ai.yaml
|
||
│ ├── service-lpt-fe.yaml
|
||
│ ├── service-lpt-be.yaml
|
||
│ ├── service-lpt-ai.yaml
|
||
│ └── configmap.yaml
|
||
└── README.md
|
||
```
|
||
|
||
## 首次部署
|
||
|
||
### 1. 创建 namespace
|
||
```bash
|
||
kubectl create namespace lpt-dev
|
||
kubectl create namespace lpt-prod
|
||
```
|
||
|
||
### 2. 创建 Secret(仅一次,由 CI/CD 自动管理)
|
||
```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
|
||
kubectl apply -f dev/
|
||
kubectl apply -f prod/
|
||
```
|
||
|
||
## 日常更新
|
||
|
||
```bash
|
||
cd ~/lpt-infra
|
||
git pull
|
||
kubectl apply -f dev/
|
||
kubectl apply -f prod/
|
||
```
|
||
|
||
## CI/CD
|
||
|
||
各服务仓库的 Gitea Actions 负责 build + push 镜像,并通过 `kubectl set image` 更新 Deployment。`regcred` 由 workflow 自动 create/update,`lpt-secrets` 需手动创建一次后保持不变。
|
||
|
||
## 验证
|
||
```bash
|
||
kubectl get pods -n lpt-dev
|
||
kubectl get pods -n lpt-prod
|
||
```
|