Files
agent_management/scripts/quick-deploy-k8s.sh
T
zhanggangyong 4b09912806 feat: 添加动态 Agent 生成器和 CI/CD 集成
主要更新:
- 新增 agent_code_generator.py: AI 驱动的 Pydantic Agent 代码生成
- 新增 gitee_manager.py: Gitee API 集成(仓库创建、文件推送、Secrets 配置)
- 新增 tool_generator_api.py: 动态 Agent 生成 API 端点
- 新增 template_manager.py: 数据库驱动的模板管理
- 新增 docs/DYNAMIC_AGENT_GENERATOR_API.md: 完整 API 文档

功能特性:
- 支持通过 API 定义工具并自动生成 Agent 代码
- 自动创建 Gitee 仓库并推送代码
- CI/CD 自动构建 ARM64 Docker 镜像并推送到 ACR
- 自动部署到 AKS 并创建 DNS A 记录
- 支持参数化工具函数生成

配置集成:
- LiteLLM Gateway 用于 AI 代码生成
- Gitea Actions 用于 CI/CD 流水线
- Azure DNS 用于域名绑定
- ACR/AKS 用于容器化部署

文件整理:
- 脚本文件移动到 scripts/ 目录
- 文档文件移动到 docs/ 目录
2026-01-27 13:17:35 +00:00

60 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
##############################################################################
# Agent Manager - 快速部署脚本 (仅部署,不构建镜像)
##############################################################################
set -e
GREEN='\033[0;32m'
BLUE='\033[0;34m'
NC='\033[0m'
echo -e "${BLUE}快速部署 Agent Manager 到 Kubernetes...${NC}\n"
NAMESPACE="agent-manager"
K8S_DIR="./k8s"
# 1. 创建命名空间
echo "1️⃣ 创建命名空间..."
kubectl apply -f ${K8S_DIR}/agent-manager-namespace.yaml
# 2. 创建配置
echo "2️⃣ 创建配置..."
kubectl apply -f ${K8S_DIR}/agent-manager-configmap.yaml
kubectl apply -f ${K8S_DIR}/agent-manager-secret.yaml
# 3. 创建 RBAC
echo "3️⃣ 创建 RBAC..."
kubectl apply -f ${K8S_DIR}/agent-manager-rbac.yaml
# 4. 创建 ACR Secret(如果需要)
if [ -n "$ACR_USERNAME" ] && [ -n "$ACR_PASSWORD" ]; then
echo "4️⃣ 创建 ACR Secret..."
kubectl create secret docker-registry acr-secret \
--namespace=${NAMESPACE} \
--docker-server=agnettaiji.azurecr.io \
--docker-username=${ACR_USERNAME} \
--docker-password=${ACR_PASSWORD} \
--dry-run=client -o yaml | kubectl apply -f -
fi
# 5. 部署应用
echo "5️⃣ 部署应用..."
kubectl apply -f ${K8S_DIR}/agent-manager-deployment.yaml
kubectl apply -f ${K8S_DIR}/agent-manager-service.yaml
# 6. 等待就绪
echo "6️⃣ 等待部署完成..."
kubectl rollout status deployment/agent-manager -n ${NAMESPACE} --timeout=300s
# 7. 显示状态
echo -e "\n${GREEN}✅ 部署完成!${NC}\n"
echo "查看 Pods:"
kubectl get pods -n ${NAMESPACE}
echo -e "\n查看 Services:"
kubectl get svc -n ${NAMESPACE}
echo -e "\n获取外网 IP:"
echo "kubectl get svc agent-manager -n ${NAMESPACE} -o jsonpath='{.status.loadBalancer.ingress[0].ip}'"