【问题标题】:What is the recommended way to upgrade a kubernetes cluster as new versions are released?随着新版本的发布,推荐的升级 Kubernetes 集群的方法是什么?
【发布时间】:2015-09-03 14:42:02
【问题描述】:

随着新版本的发布,推荐的升级 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、复制控制器和服务从第一个集群复制/移动到新集群,然后关闭第一个集群。

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

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

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

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

    仅当持久性数据(etcd 数据库、服务器证书、授权不记名令牌等)驻留在与主控启动磁盘不同的持久性磁盘上时,删除和替换主节点才有效(这是默认配置的方式在 GCE 中)。在 AWS 上删除和替换节点应该没问题(但请记住,任何不在复制控制器下的 pod 都不会重新启动)。

    进行就地升级不需要任何特殊配置,但该代码路径没有像删除和替换选项那样经过全面测试。

    升级到新版本时,您不需要完全替换集群,除非您使用的是预发布版本(例如 alpha 或 beta 版本),它们之间有时会发生重大变化。

    【讨论】:

    猜你喜欢
    • 2021-12-08
    • 2021-01-09
    • 2018-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 1970-01-01
    • 2018-10-30
    相关资源
    最近更新 更多