forked from xiaohei/taiji-AI-PAD
93 lines
3.2 KiB
Bash
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 "========================================="
|
|
|