forked from xiaohei/taiji-AI-PAD
3.4 KiB
3.4 KiB
AKS 快速部署指南
🚀 5 步快速部署
步骤 1: 准备 Azure 资源
# 设置变量(根据实际情况修改)
export RESOURCE_GROUP="taiji-ai-rg"
export LOCATION="southeastasia"
export AKS_NAME="taiji-aks"
export ACR_NAME="taijiacr"
# 创建资源组
az group create --name $RESOURCE_GROUP --location $LOCATION
# 创建 ACR
az acr create --resource-group $RESOURCE_GROUP --name $ACR_NAME --sku Basic
# 创建 AKS 集群(最小配置)
az aks create \
--resource-group $RESOURCE_GROUP \
--name $AKS_NAME \
--node-count 2 \
--node-vm-size Standard_B2s \
--enable-addons monitoring \
--attach-acr $ACR_NAME \
--generate-ssh-keys
步骤 2: 构建并推送镜像
cd k8s
./build-and-push.sh $ACR_NAME
步骤 3: 创建 Secrets
# 使用交互式脚本
./create-secrets.sh
# 或手动创建
kubectl create secret generic taiji-secrets \
--from-literal=database-url="postgresql+asyncpg://user:pass@server.postgres.database.azure.com:5432/db?sslmode=require" \
--from-literal=async-database-url="postgresql+asyncpg://user:pass@server.postgres.database.azure.com:5432/db?sslmode=require" \
--from-literal=redis-url="rediss://:password@server.redis.cache.windows.net:6380/0?ssl_cert_reqs=required" \
--from-literal=jwt-secret="your-secret-key" \
--from-literal=encryption-key="your-encryption-key" \
--from-literal=litellm-master-key="sk-taiji-master-key" \
--from-literal=litellm-api-key="sk-taiji-master-key" \
--from-literal=openrouter-api-key="your-openrouter-key" \
--from-literal=rapidapi-key="your-rapidapi-key" \
--namespace=taiji-ai
步骤 4: 部署到 AKS
./deploy.sh $ACR_NAME $RESOURCE_GROUP $AKS_NAME
步骤 5: 验证部署
# 查看所有 Pod 状态
kubectl get pods -n taiji-ai
# 查看服务
kubectl get services -n taiji-ai
# 查看日志
kubectl logs -f deployment/mcp-server -n taiji-ai
📝 重要提示
-
数据库和 Redis: 确保 Azure Database for PostgreSQL 和 Azure Cache for Redis 的防火墙规则允许 AKS 节点 IP 访问。
-
ACR 访问: 如果 AKS 未自动附加 ACR,需要创建 ACR 拉取密钥:
kubectl create secret docker-registry acr-secret \ --docker-server=${ACR_NAME}.azurecr.io \ --docker-username=<service-principal-id> \ --docker-password=<service-principal-password> \ --namespace=taiji-ai -
Ingress: 默认配置使用 Azure Application Gateway。如果使用 NGINX Ingress,请修改
ingress.yaml。 -
域名: 部署 Ingress 前,请确保域名 DNS 已正确配置。
🔧 常用命令
# 查看所有资源
kubectl get all -n taiji-ai
# 扩展服务
kubectl scale deployment/mcp-server --replicas=5 -n taiji-ai
# 更新镜像
kubectl set image deployment/mcp-server mcp-server=${ACR_NAME}.azurecr.io/mcp-server:latest -n taiji-ai
# 进入 Pod
kubectl exec -it <pod-name> -n taiji-ai -- /bin/bash
# 查看事件
kubectl get events -n taiji-ai --sort-by='.lastTimestamp'
🆘 故障排查
如果 Pod 无法启动:
- 检查 Pod 状态:
kubectl describe pod <pod-name> -n taiji-ai - 查看日志:
kubectl logs <pod-name> -n taiji-ai - 检查 Secret:
kubectl get secret taiji-secrets -n taiji-ai -o yaml - 检查 ConfigMap:
kubectl get configmap taiji-config -n taiji-ai -o yaml
📚 更多信息
详细文档请参考 README.md