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

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

涉及哪些服务,例如 EKSEC2GKECompute Engine

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

提前致谢。

【问题讨论】:

    标签: amazon-web-services kubernetes google-cloud-platform terraform migration


    【解决方案1】:

    视情况而定。

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

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

    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 上配置迁移环境。见:

    迁移

    How-to Guides  |  Migrate for Compute Engine  |  Google Cloud

    使用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 资源都没有映射。但是,同样,您可以使用其中的一些映射列表:

    然后应用新的GCP 清单:

    terraform init
    terraform plan
    terraform apply
    

    AWS 上的其他资源 GCP

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 2020-07-04
      • 2021-10-12
      • 1970-01-01
      • 2021-05-16
      • 2021-07-11
      • 2016-03-12
      • 1970-01-01
      • 2020-01-07
      • 2017-02-04
      相关资源
      最近更新 更多