无需停机即可从简单的kubernetes迁移到掌舵

时间:2017-12-04 17:35:00

标签: kubernetes kubernetes-helm

我在kubernetes集群中部署了多个应用程序。我有收据等作为yaml文件,我使用kubectl部署和应用所有内容。

由于其功能,我决定迁移到helm并避免在dev和prod之间复制代码(我可以使用变量等)。

问题是:我的服务是AWS ELB,并且据我所知,将已经使用kubectl部署的内容迁移到helm,我需要将其删除并使用helm再次安装 - 这将破坏并重新启动创建我的ELB,所以我需要更改DNS记录等。除此之外,我还有停机时间 - 这是不太理想的。

我想过重命名旧东西,用正确的名称创建新东西,保留一个在服务中使用的通用标签 - 所以我可以创建新的,更改DNS记录,然后删除旧的东西 - 但kubernetes显然不允许重命名。

另一个策略是推出一个新的群集 - 我真的不想这样做。

还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

正确设计的图表应按.Release.Name命名空间部署资源。这样,您可以使用现有软件并排部署图表。您可能会并行创建堆栈的大部分,然后更新您的图表外服务以指向图表上的窗格,这样您就可以同时定义图表和图表外服务并使用两个不同的ELB,如果你想摆脱图表,只需编辑DNS并让它传播,然后,在一天,一周或一个月之后你可以废弃它并只留下图表。