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

3

我想了解将 Kubernetes 应用从 AWS 迁移到 GCP 的简要说明或示例。

涉及哪些服务,例如 EKSEC2 以及 GKECompute Engine

我对迁移非常陌生,对 AWS 不太了解,最近开始使用 GCP

提前致谢。

2个回答

5

这要看情况而定。

首先,将 AWS 映射到 GCP 资源:

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

AWS EKS 迁移到 GCP GKE:困难模式

如果您的集群是使用托管的 Kubernetes 服务部署的:

  • Elastic Kubernetes Service (EKS)
  • Google Kubernetes Engine (GKE)

由于 kubernetes 架构的复杂性以及在 AWSGCP 中管理集群方法的差异,迁移可能会很困难。

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

如果您的 kubernetes 集群是使用 k8shelm 清单部署在云虚拟机上,则迁移将更容易。

有两种方式:

  • 使用 GCP Migrate Connector 迁移 VM(正如 @vicente-ayala 在他的回答中所说)
  • 或者将基础架构导入到 terraform 清单中,逐步更改资源定义,然后将更新后的清单应用到 GCP 上。

使用 Migrate Connector 迁移

您可以在此处找到有关迁移 VM 的最新迁移手册:

前提条件

根据GCP手册,

在将源VM迁移到Google Cloud之前,您必须在您的本地数据中心和Google Cloud上配置迁移环境。请参阅:

迁移

操作指南  |  迁移Compute Engine  |  Google Cloud

使用TerraformTerraformer进行迁移

有一个很棒的工具可以进行反向Terraform GoogleCloudPlatform/terraformer. Infrastructure to Code

这是一个CLI工具,可以根据现有基础架构(反向Terraform)生成tf/jsontfstate文件。

您可以将基础架构导入到terraform清单中:

 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的其他资源



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接