为什么 kubectl 删除了命令 "rolling-update"?

Why kubectl removed command "rolling-update"?

当我通过 KubernetesInAction 第 09 章学习 kubernetes 并进行一些练习时。


我用kubectl rolling-update kubia-v1 kubia-v2 --image=luksa/kubia:v2

他告诉我Error: unknown command "rolling-update" for "kubectl"

我在 github Remove deprecated rolling-update command.

中找到了它

我很困惑为什么他们删除了这个命令?

希望得到解答,谢谢!

总结一下:

滚动更新命令是客户端。 Rollout 命令是服务器端的,在 roling-update 出现后一段时间出现,旨在解决 some problems 与 rolling-update.

它们基本上都做同样的事情(只是方式不同)所以一个肯定被删除了,因为保留重复的特征没有意义


回答你的问题:为什么被删除了一段时间后现在被删除了?

根据Deprecation Policy

"CLI elements of user-facing components (e.g. kubectl) must function after their announced deprecation for no less than: GA: 12 months or 2 releases (whichever is longer) [...]".

所以不可能是removed before 1 year after announced as depricated(2018年),这种情况是2年(2020年删除),所以一切似乎都很好。

原因是在生产环境中,不能保证网络一直稳定。如果网络丢失,您将立即处于不同版本 pods 运行 在一起的状态。

另外一个重要的事情是,kubernetes 是为你告诉 kubernetes 最终状态而设计的,它帮助你做到这一点。不就是这样 kubectl 需要告诉每个升级的详细步骤。

这样就引入了部署资源。