Files
taiji-AI-PAD/k8s/QUICKSTART.md
T
2025-12-28 08:33:23 +00:00

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

📝 重要提示

  1. 数据库和 Redis: 确保 Azure Database for PostgreSQL 和 Azure Cache for Redis 的防火墙规则允许 AKS 节点 IP 访问。

  2. 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
    
  3. Ingress: 默认配置使用 Azure Application Gateway。如果使用 NGINX Ingress,请修改 ingress.yaml。

  4. 域名: 部署 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 无法启动:

  1. 检查 Pod 状态: kubectl describe pod <pod-name> -n taiji-ai
  2. 查看日志: kubectl logs <pod-name> -n taiji-ai
  3. 检查 Secret: kubectl get secret taiji-secrets -n taiji-ai -o yaml
  4. 检查 ConfigMap: kubectl get configmap taiji-config -n taiji-ai -o yaml

📚 更多信息

详细文档请参考 README.md