9ebafb97fbb93e6a6f70901f16a0d5be70d849c2
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
kubectl create namespace lpt-dev
kubectl create namespace lpt-prod
2. 创建 Secret(模板不包含真实值,需手动创建)
# 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 全部配置
# dev
kubectl apply -f dev/
# prod
kubectl apply -f prod/
日常更新(CI/CD)
CI/CD 流程使用 kubectl set image 更新镜像,仓库内 imagePullSecrets 已配置,无需额外操作。
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
验证
kubectl get pods -n lpt-dev
kubectl get pods -n lpt-prod