【问题标题】:Change Container Runtime without destroying cluster在不破坏集群的情况下更改容器运行时
【发布时间】:2021-03-14 13:40:18
【问题描述】:

我们正在运行具有 10-100 个节点的多个 kubespray 部署集群。

使用 1.20 kubernetes 会降低对 dockershim 的支持 -> https://github.com/kubernetes/kubernetes/blob/ab32085bf36fc7af1ded30456e2f09399dc1115f/CHANGELOG/CHANGELOG-1.20.md#deprecation

如何将容器运行时更​​改为 containerd - 不删除节点且不破坏 master。

【问题讨论】:

标签: kubernetes kubespray


【解决方案1】:

请将此答案视为友好的建议。

首先,按照昨天新鲜文章Don't Panic: Kubernetes and Docker的建议:

你不必惊慌:)

Kubernetes 仅在 v1.20 之后弃用 Docker 作为容器运行时。他们目前只计划在 2021 年末(几乎是一年!)的 1.22 版本中删除 Docker 运行时支持,所以在工作解决方案出现之前请不要停止 100 节点集群:)

【讨论】:

  • Docker 镜像仍受支持,建议将运行时更改为 containerd。重点是dockershim。
【解决方案2】:

我并不恐慌,只是不想做好准备,我们已经在 1.19,所以 1.22 离我们不远了。

无论如何,我用一个较小的集群对其进行了测试,结果比预期的要容易得多。

将:container_manager 更改为 containerd

在所有节点上运行 kubespray cluster.yml 剧本并繁荣。 只需要做一个简单的 ansible playbook 即可卸载 docker et-all,但它也适用于已安装的 docker。

【讨论】:

    猜你喜欢
    • 2011-03-11
    • 1970-01-01
    • 2010-12-21
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 2010-10-15
    相关资源
    最近更新 更多