Files
taiji-AI-PAD/scripts/aks-quick-migration.sh
2026-02-02 14:08:13 +00:00

93 lines
3.2 KiB
Bash

#!/bin/bash
# ============================================================
# AKS 快速迁移命令参考
#
# 使用前请先修改以下变量为实际值
# ============================================================
# ========== 请修改以下变量 ==========
OLD_SUBSCRIPTION="请替换为旧订阅ID"
NEW_SUBSCRIPTION="请替换为新订阅ID"
OLD_RESOURCE_GROUP="Xmind运营学习专用01"
NEW_RESOURCE_GROUP="Xmind运营学习专用2026"
AKS_NAME="taiji-ai-pda"
ACR_NAME="taiji"
NAMESPACE="taiji-ai"
# DNS 相关 (可选)
DNS_RESOURCE_GROUP="你的DNS资源组"
DNS_ZONE="你的域名"
DNS_RECORD_NAME="子域名"
# ====================================
echo "========================================="
echo "AKS 迁移快速命令参考"
echo "========================================="
echo ""
echo "步骤 1: 登录 Azure"
echo "-----------------------------------------"
echo "az login"
echo ""
echo "步骤 2: 查看订阅列表"
echo "-----------------------------------------"
echo "az account list --output table"
echo ""
echo "步骤 3: 连接旧集群并查看资源"
echo "-----------------------------------------"
echo "az account set --subscription \"${OLD_SUBSCRIPTION}\""
echo "az aks get-credentials --resource-group \"${OLD_RESOURCE_GROUP}\" --name \"${AKS_NAME}\" --overwrite-existing"
echo "kubectl get all -n ${NAMESPACE}"
echo ""
echo "步骤 4: 连接新集群"
echo "-----------------------------------------"
echo "az account set --subscription \"${NEW_SUBSCRIPTION}\""
echo "az aks get-credentials --resource-group \"${NEW_RESOURCE_GROUP}\" --name \"${AKS_NAME}\" --overwrite-existing"
echo ""
echo "步骤 5: 附加 ACR 到新集群"
echo "-----------------------------------------"
echo "az aks update --resource-group \"${NEW_RESOURCE_GROUP}\" --name \"${AKS_NAME}\" --attach-acr ${ACR_NAME}"
echo ""
echo "步骤 6: 部署到新集群"
echo "-----------------------------------------"
echo "cd /home/taiji/tools/taiji-AI-PAD"
echo "kubectl apply -f k8s/namespace.yaml"
echo "kubectl apply -f k8s/secrets.yaml"
echo "kubectl apply -f k8s/configmap.yaml"
echo "kubectl apply -f k8s/nats.yaml"
echo "kubectl apply -f k8s/litellm-gateway.yaml"
echo "kubectl apply -f k8s/data-ingestion.yaml"
echo "kubectl apply -f k8s/mcp-server.yaml"
echo "kubectl apply -f k8s/api-gateway.yaml"
echo "kubectl apply -f k8s/monitoring.yaml"
echo ""
echo "步骤 7: 验证部署"
echo "-----------------------------------------"
echo "kubectl get pods -n ${NAMESPACE}"
echo "kubectl get svc -n ${NAMESPACE}"
echo ""
echo "步骤 8: 获取新 LoadBalancer IP"
echo "-----------------------------------------"
echo "kubectl get svc api-gateway -n ${NAMESPACE} -o jsonpath='{.status.loadBalancer.ingress[0].ip}'"
echo ""
echo "步骤 9: 更新 DNS (Azure DNS 示例)"
echo "-----------------------------------------"
echo "NEW_IP=\$(kubectl get svc api-gateway -n ${NAMESPACE} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')"
echo "az network dns record-set a add-record --resource-group \"${DNS_RESOURCE_GROUP}\" --zone-name \"${DNS_ZONE}\" --record-set-name \"${DNS_RECORD_NAME}\" --ipv4-address \${NEW_IP}"
echo ""
echo "步骤 10: 验证 DNS"
echo "-----------------------------------------"
echo "nslookup ${DNS_ZONE}"
echo ""
echo "========================================="