EKS迁移至AKS工作负载:迁移步骤及备份迁移方案可行性咨询
EKS 迁移至 AKS 的方案验证与具体步骤
你提到的备份EKS集群到AWS存储桶、迁移至Azure Blob存储再配置AKS的方案是完全可行的,这属于跨云Kubernetes迁移中基于备份恢复的主流路径之一,能较好保留集群的资源状态与数据。以下是具体执行步骤:
一、前期准备
- 确认EKS集群内所有资源(Pod、Deployment、PV/PVC等)运行正常,无异常状态
- 安装并配置
AWS CLI、Azure CLI,确保拥有操作S3存储桶、Azure Blob存储、EKS集群、AKS集群的权限 - 部署跨云备份工具Velero(适配AWS与Azure双环境,是这类场景的首选工具)
二、备份EKS集群资源
- 在EKS集群中部署Velero,配置关联目标AWS S3存储桶:
velero install \ --provider aws \ --plugins velero/velero-plugin-for-aws:v1.10.0 \ --bucket your-eks-backup-bucket \ --secret-file ./aws-credentials \ --backup-location-config region=us-east-1 - 执行备份命令,可选择备份整个集群或指定命名空间:
# 备份全部集群资源 velero backup create eks-full-backup # 仅备份指定命名空间 velero backup create eks-namespace-backup --include-namespaces=prod,staging - 验证备份完成状态:
velero backup describe eks-full-backup --details
三、迁移备份文件至Azure Blob存储
- 使用AWS CLI将S3中的备份文件下载到本地:
aws s3 cp s3://your-eks-backup-bucket/velero/backups/eks-full-backup/ ./local-eks-backup/ --recursive - 配置Azure CLI连接目标订阅,创建或指定Blob存储容器:
az account set --subscription your-azure-subscription-id az storage container create --name aks-backup-container --account-name your-storage-account - 将本地备份文件上传至Azure Blob容器:
az storage blob upload-batch --source ./local-eks-backup/ --destination aks-backup-container --account-name your-storage-account
四、在AKS集群中恢复备份资源
- 创建与EKS集群K8s版本尽可能一致的AKS集群(避免版本兼容问题)
- 在AKS集群部署Velero,配置关联Azure Blob存储容器:
velero install \ --provider azure \ --plugins velero/velero-plugin-for-microsoft-azure:v1.10.0 \ --bucket aks-backup-container \ --secret-file ./azure-credentials \ --backup-location-config resourceGroup=your-azure-rg,storageAccount=your-storage-account,subscriptionId=your-azure-subscription-id - 执行恢复命令,导入EKS备份资源:
velero restore create --from-backup eks-full-backup - 验证恢复进度与资源状态:
velero restore describe eks-full-backup-restore
五、迁移后验证
- 检查AKS集群内所有Pod、Deployment是否正常运行:
kubectl get pods --all-namespaces kubectl get deployments --all-namespaces - 验证PV/PVC绑定状态,若使用云原生存储,需将原AWS EBS/EFS存储类替换为Azure Disk/File存储类
- 测试业务应用的功能与可用性,确保服务正常对外提供
补充说明:除了备份恢复方式,还可采用「导出EKS资源YAML+修改适配AKS+迁移容器镜像至ACR」的方式,但备份恢复更适合需要保留集群运行状态的场景。
内容的提问来源于stack exchange,提问作者Samir Patel
相关产品推荐
相关产品推荐

