开关在集群k8容器运行时.从CRI-O到码头工人



有一个工作的k8s集群,其中有两个节点(主节点和工作节点),并使用CRI-O作为容器运行时。我需要(临时)从cri-o切换到docker容器运行时

我试图使用这些命令:Kubectlnode_name>在主节点上失败。

这里有一些事情可以帮助你:

  1. 了解dockershim支持从Kubernetes v1.24+中移除。所以,如果你的Kubernetes版本是其中之一,docker作为运行时will not work。这是一个很好的资源来理解这个细节。
  2. 如果你的版本允许使用docker engine作为运行时,那么根据文档,你需要安装docker enginecri-dockerd适配器来连接Kubernetes。您可以在链接文档中找到所有这些链接。
  3. 完成节点的安装和配置后,需要在集群中创建一个RuntimeClass对象。你可以使用这个指南。
  4. 现在,您需要更新每个pod规范,为其添加runtimeClass参数,以便在指定节点上调度。
  5. 理解没有"临时"的;在运行时之间切换。您只需在工作节点上并行地安装、配置和设置所需的所有运行时,然后更新所有pod规范,以便使用所需的RuntimeClass在工作节点上调度它们。
  6. 同样,更改主节点的运行时是没有意义的。主节点pod是Kubernetes系统的静态组件,它们的清单位于/etc/kubernetes/manifests目录。它们不通过Kubernetes API服务器应用。节点上的任何运行时更改都不会影响这些pod,除非删除集群并重新创建这些pod。非常不鼓励来操作这些清单,因为任何错误都不会显示在任何地方,并且组件将简单地"不工作"。(因此,静态豆荚)。

底线;运行时更改仅对工作节点有意义。请勿尝试更改主节点运行时。

相关内容

  • 没有找到相关文章

最新更新