将 Kubernetes 应用程序从 AWS 迁移到 GCP
Posted
技术标签:
【中文标题】将 Kubernetes 应用程序从 AWS 迁移到 GCP【英文标题】:Migrate a Kubernetes application to GCP from AWS 【发布时间】:2021-11-16 09:05:31 【问题描述】:我想知道如何将Kubernetes
应用程序从AWS
迁移到GCP
的简要说明或示例。
涉及哪些服务,例如 EKS
或 EC2
和 GKE
或 Compute Engine
。
我对迁移很陌生,对AWS
了解不多,最近开始使用GCP
。
提前致谢。
【问题讨论】:
【参考方案1】:视情况而定。
首先,AWS
-> GCP
资源映射:
首先,您需要了解AWS
和GCP
资源之间的映射。
有几篇文章:
将AWS EKS
迁移到GCP GKE
:困难重重
如果您的集群部署了托管 kubernetes 服务:
来自Elastic Kubernetes Service
(EKS
)
到Google Kubernetes Engine
(GKE
)
然后就很难迁移了。只是由于kubernetes
架构的复杂性和AWS
与
GCP 中管理集群的方法不同`
迁移使用您自己的 k8s
清单部署的虚拟机和集群。
如果您的kubernetes
集群部署在具有k8s
或helm
清单的云虚拟机上,那么会更容易。
并且有两种方式:
使用GCP
Migrate Connector
迁移VM
s(正如@vicente-ayala 在他的回答中所说)
或将您的基础架构导入terraform
清单,逐步更改资源定义,然后将此更新的清单应用到GCP
使用Migrate Connector
迁移
您可以在此处找到有关迁移 VM 的最新迁移手册:
先决条件
根据GCP
manual,
在将源虚拟机迁移到 GCP 之前,您必须在本地数据中心和 GCP 上配置迁移环境。见:
Enabling Migrate for Compute Engine services
Installing the Migrate Connector
迁移
How-to Guides | Migrate for Compute Engine | Google Cloud
Migrating individual VMs Migrating VM groups使用Terraform
和Terraformer
进行迁移
有一个很好的逆向 Terraform 工具GoogleCloudPlatform/terraformer. Infrastructure to Code
基于现有基础架构(反向 Terraform)生成 tf
/json
和 tfstate
文件的 CLI 工具。
您可以将您的基础架构导入terraform
manifest:
terraformer import aws --resources=vpc,subnet --connect=true --regions=eu-west-1 --profile=prod
您将获得使用 aws provider
声明的 terraform
清单
您可以尝试将每个AWS
资源替换为适当的GCP
资源。有官方terraform GCP
提供者:hashicorp/google。不幸的是,两个云提供商的terraform
资源都没有映射。但是,同样,您可以使用其中的一些映射列表:
然后应用新的GCP
清单:
terraform init
terraform plan
terraform apply
AWS
上的其他资源 GCP
GCP to AWS Migration: Why and How to Make the Move
GCP | Google Cloud Migrate for Compute Engine | AWS to GCP Migration using Velostrata - YouTube
Managing a Large and Complex GCP Migration (Cloud Next '19) - YouTube
Lessons Learned Migrating from GCP to AWS | Leverege
How to approach a GCP-to-AWS migration
How Rapyder helped ride-sharing app migrate from GCP to AWS | Rapyder
Cloud Migration Use Case: Moving From AWS to GCP (PDF)
【讨论】:
【参考方案2】:这里是您将 k8s 集群从 AWS 迁移到 GCP 所需执行的步骤的详细指南。
https://cloud.google.com/migrate/compute-engine/docs/4.8/how-to/migrate-aws-to-gcp/overview
https://cloud.google.com/migrate/compute-engine/docs/4.8/how-to/migrate-aws-to-gcp/aws-prerequisites
https://cloud.google.com/migrate/compute-engine/docs/4.8/how-to/migrate-aws-to-gcp/configure-aws-as-a-source
【讨论】:
三个链接有点过时。最新版本是:* Migrating individual VMs | Migrate for Compute Engine | Google Cloud * Enabling Migrate for Compute Engine services | Google Cloud * Installing the Migrate Connector | Migrate for Compute Engine以上是关于将 Kubernetes 应用程序从 AWS 迁移到 GCP的主要内容,如果未能解决你的问题,请参考以下文章
如何将现有的 Web 应用程序从 Heroku 迁移到 AWS