随着新版本的发布,升级kubernetes集群的推荐方法是什么?

我听说here可能是https://github.com/kubernetes/kubernetes/blob/master/cluster/kube-push.sh。如果是这样的话,kube-push.sh与https://github.com/GoogleCloudPlatform/kubernetes/blob/master/cluster/gce/upgrade.sh有什么关系?

我还听说过here,我们应该创建一个新集群,将pod,复制 Controller 和服务从第一个集群复制/移动到新集群,然后关闭第一个集群。

如果相关的话,我正在aws上运行群集。

最佳答案

您引用的第二个脚本(gce/upgrade.sh)仅在您的集群在GCE上运行时才有效。还没有适用于AWS的等效脚本,但是您可以查看该脚本并按照以下步骤进行操作(或将其写入脚本)来获得相同的行为。

upgrade.sh和kube-push.sh之间的主要区别在于,前者进行替换升级(删除节点,创建一个新节点来替换它),而后者进行“就地”升级。

仅当持久性数据(etcd数据库,服务器证书,授权的承载 token 等)驻留在与主服务器的引导磁盘分开的永久性磁盘上时,才可以删除和替换主节点(这是在GCE中默认配置的方式) 。在AWS上,删除和替换节点应该没问题(但是请记住,不在复制 Controller 下的任何Pod都不会重新启动)。

就地升级不需要任何特殊配置,但是该代码路径没有像remove and replace选项那样经过全面测试。

升级到新版本时,您不需要完全替换集群,除非您使用的是预发行版本(例如Alpha或Beta版本),而有时它们之间可能会有重大更改。

关于kubernetes - 随着新版本的发布,升级kubernetes集群的推荐方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32365631/

10-16 16:12