将 Kubernetes 应用程序从 AWS 迁移到 GCP

Posted

技术标签:

【中文标题】将 Kubernetes 应用程序从 AWS 迁移到 GCP【英文标题】:Migrate a Kubernetes application to GCP from AWS 【发布时间】:2021-11-16 09:05:31 【问题描述】:

我想知道如何将Kubernetes 应用程序从AWS 迁移到GCP 的简要说明或示例。

涉及哪些服务,例如 EKSEC2GKECompute Engine

我对迁移很陌生,对AWS了解不多,最近开始使用GCP

提前致谢。

【问题讨论】:

【参考方案1】:

视情况而定。

首先,AWS -> GCP 资源映射:

首先,您需要了解AWSGCP 资源之间的映射。 有几篇文章:

Cloud Services Mapping For AWS, Azure, GCP ,OCI, IBM and Alibaba provider – Technology Geek Cloud Terminology Glossary for AWS, Azure, and GCP | Lucidchart: Cloud Services Terminology Guide: Comparing AWS vs Azure vs Google | CloudHealth by VMware

AWS EKS 迁移到GCP GKE:困难重重

如果您的集群部署了托管 kubernetes 服务:

来自Elastic Kubernetes Service (EKS) 到Google Kubernetes Engine (GKE)

然后就很难迁移了。只是由于kubernetes 架构的复杂性和AWS GCP 中管理集群的方法不同`

迁移使用您自己的 k8s 清单部署的虚拟机和集群。

如果您的kubernetes 集群部署在具有k8shelm 清单的云虚拟机上,那么会更容易。

并且有两种方式:

使用GCP Migrate Connector 迁移VMs(正如@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

使用TerraformTerraformer 进行迁移

有一个很好的逆向 Terraform 工具GoogleCloudPlatform/terraformer. Infrastructure to Code

基于现有基础架构(反向 Terraform)生成 tf/jsontfstate 文件的 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 资源都没有映射。但是,同样,您可以使用其中的一些映射列表:

Cloud Services Mapping For AWS, Azure, GCP ,OCI, IBM and Alibaba provider – Technology Geek Cloud Terminology Glossary for AWS, Azure, and GCP | Lucidchart: Cloud Services Terminology Guide: Comparing AWS vs Azure vs Google | CloudHealth by VMware

然后应用新的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

从 Heroku 迁移到 AWS 时的清单

将数据库从 Heroku 迁移到 AWS

[AWS][CloudEndure]CloudEndure迁移阿里云到AWS

将数据从本地迁移到 AWS redshift

从 AWS 到 IBM Cloud 的数据迁移