60 lines
1.8 KiB
Bash
Executable File
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}'"
|