Google Container Engine 托管的 Kubernetes 环境会导致锁定吗?

Does Google Container Engine's managed Kubernetes environment lead to lock-in?

Google 容器引擎 (GKE) 文档说:"There’s no vendor lock-in, you’re free to take your workloads out of Container Engine and run them anywhere Kubernetes is supported, including on your own on-premise servers."

不过,GKE 是 Kubernetes 的托管环境,我想知道在 2-3 年后将您的工作负载从 GKE 中取出并 运行 在您自己的场所进行操作会有多困难。保持最大便携性需要注意什么?

您的工作负载无需太多修改即可迁移出 GKE;您唯一需要更改的是那些与云提供商相关的内容(入口、持久卷等)。请注意,无论您是 运行 在 GKE 中还是在 GCE、AWS、Digital Ocean 上,这都是一样的——当您移动环境时,您将需要对您的工作负载定义进行小的调整,如果它直接绑定在什么地方对环境。

更大的变化是从托管环境迁移到您自己管理的集群。您将拥有配置系统的许多方面(身份验证和授权、准入控制器、各种系统组件的标志、基本操作系统等)的控制权和责任,这些方面共同构成一个平稳运行的集群。您还将负责管理集群的升级,这意味着您需要跟上 Kubernetes 的发布,以确保您正在为关键错误和安全漏洞获取补丁。

我们在 Kubernetes 上构建软件。我们使用 GKE 进行开发,使用 Kubernetes on AWS 进行生产。这很好用。 (我们使用 GKE 是因为它比在 AWS 中更容易为开发人员按需启动 Kubernetes 集群。)

您对可移植性的主要限制将是您的数据。如果您开始使用 GKE 上的 Spanner,您将无法非常轻松地迁移到您自己的 Kubernetes 实例。因此,您需要真正注意您对其他 Google 服务的使用。