Files
agent_management/quick-deploy-k8s.sh
T
2026-01-15 17:30:48 +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}'"