Files
macos-tools/contexts/ai-context-deploy.md
bruno 435834dc79 feat: Harbor 版本化配置
- 添加 Harbor 快速恢复脚本 (harbor-quick-restore.sh)
- 添加完整恢复指南 (HARBOR-RESTORE-GUIDE.md)
- 添加版本信息文件 (VERSION.md)
- 更新 .gitignore 排除敏感数据
- 配置 harbor git remote
- 修复 Cloudflare Tunnel 配置

系统重装后可通过以下命令快速恢复:
git clone http://192.168.1.83:33000/gao/ljwx-harbor.git
cd ljwx-harbor
./harbor-quick-restore.sh
2026-02-27 08:12:30 +08:00

5.0 KiB

AI Development Context - Deployment Scenario

生成时间: 2025-12-30 22:59:37 | 场景: 部署运维

Kubernetes 集群

集群信息

命名空间

argocd
cert-manager
data
default
dev
fastapi-template-dev
fastapi-template-prod
gitea-runner
health
infra
kube-node-lease
kube-public
kube-system
kubernetes-dashboard
learn
ljwx-project
ljwx-stock
logging
metallb-system
monitoring

异常 Pod(需要关注)

tiny           ljwx-tiny-flyway-mr6ng            0/1     Completed          0          2d
trivy-system   trivy-operator-77499dcb58-dkx27   0/1     InvalidImageName   0          42m

Helm Releases

NAME            	NAMESPACE    	REVISION	UPDATED                             	STATUS  	CHART                          	APP VERSION
ingress-nginx   	infra        	1       	2025-11-22 15:54:55.736249 +0800 CST	failed  	ingress-nginx-4.14.0           	1.14.0     
ljwx-tiny       	tiny         	1       	2025-12-28 22:01:01.301504 +0800 CST	deployed	ljwx-tiny-1.0.0                	1.0.0      
loki            	logging      	2       	2025-12-16 08:33:33.406231 +0800 CST	deployed	loki-stack-2.10.3              	v2.9.3     
loki            	observability	1       	2025-11-22 21:05:40.536107 +0800 CST	deployed	loki-stack-2.10.3              	v2.9.3     
monitoring      	observability	6       	2025-11-24 21:28:27.733187 +0800 CST	deployed	kube-prometheus-stack-79.5.0   	v0.86.2    
my-superset     	default      	1       	2024-07-31 17:27:58.075699 +0800 CST	failed  	superset-0.12.11               	4.0.1      
otel-collector  	tracing      	1       	2025-12-16 09:00:23.566606 +0800 CST	deployed	opentelemetry-collector-0.141.1	0.141.0    
pcc             	ljwx-project 	5       	2025-12-25 08:20:06.131368 +0800 CST	deployed	project-control-center-0.1.0   	0.1.0      
postgres        	data         	1       	2025-11-22 21:04:12.401128 +0800 CST	deployed	postgresql-18.1.11             	18.1.0     
postgres-infra  	infra        	1       	2025-12-22 09:13:34.164178 +0800 CST	deployed	postgresql-18.1.9              	18.1.0     
rainbond-cluster	default      	1       	2024-08-11 08:18:42.831934 +0800 CST	failed  	rainbond-cluster-5.15.0        	1.16.0     
redis           	data         	1       	2025-11-22 21:04:48.945348 +0800 CST	deployed	redis-24.0.0                   	8.4.0      
redis-infra     	infra        	1       	2025-12-22 07:47:32.272573 +0800 CST	deployed	redis-23.2.12                  	8.2.3      
tempo           	tracing      	1       	2025-12-16 08:39:21.635037 +0800 CST	failed  	tempo-1.24.1                   	2.9.0      

Harbor 镜像仓库

  • 状态: ✅ 运行中
  • 地址: harbor.omniverseai.net:8080
  • Projects: library (默认)

镜像缓存工具

cd /Users/brunogao/work/codes/tools/macos/k8s

# 自动修复 ImagePullBackOff
./cache-image.sh --update-deployment <namespace>/<deployment>

# 手动缓存镜像
./cache-image.sh nginx:alpine redis:7 mysql:8.0

# 批量缓存
./cache-image.sh -f images.txt

部署流程

1. 准备镜像

# 方式1: 本地构建
docker build -t myapp:v1.0 .
docker tag myapp:v1.0 harbor.omniverseai.net:8080/library/myapp:v1.0
docker push harbor.omniverseai.net:8080/library/myapp:v1.0

# 方式2: 缓存公共镜像
cd /Users/brunogao/work/codes/tools/macos/k8s
./cache-image.sh nginx:alpine
# 使用: harbor.omniverseai.net:8080/library/nginx:alpine

2. 创建部署配置

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp
  namespace: default
spec:
  replicas: 2
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: harbor.omniverseai.net:8080/library/myapp:v1.0
        ports:
        - containerPort: 8080

3. 部署和验证

# 应用配置
kubectl apply -f deployment.yaml

# 查看状态
kubectl get pods -w

# 查看日志
kubectl logs -f deployment/myapp

# 查看详情
kubectl describe pod <pod-name>

4. 故障排查

# ImagePullBackOff 修复
cd /Users/brunogao/work/codes/tools/macos/k8s
./cache-image.sh --update-deployment default/myapp

# 手动检查
kubectl describe pod <pod-name>
kubectl logs <pod-name>
kubectl get events --sort-by='.lastTimestamp'

快速参考

常用部署命令

操作 命令
应用配置 kubectl apply -f file.yaml
查看 Pod kubectl get pods -A
查看日志 kubectl logs -f <pod>
进入容器 kubectl exec -it <pod> -- /bin/bash
删除部署 kubectl delete deployment <name>
扩缩容 kubectl scale deployment <name> --replicas=3
滚动更新 kubectl set image deployment/<name> <container>=<image>

镜像缓存快捷方式

# 添加到 ~/.zshrc
alias cache-img='cd /Users/brunogao/work/codes/tools/macos/k8s && ./cache-image.sh'
alias fix-pod='cd /Users/brunogao/work/codes/tools/macos/k8s && ./cache-image.sh --update-deployment'

# 使用
cache-img nginx:alpine
fix-pod default/myapp