服务器节点是否应该与代理节点位于不同的服务器上,如何实现?

Should server node be on different server than agent nodes, and how to achieve that?

我需要有关 k3s 架构的建议。我想创建一个具有 1 个主节点和 3 个代理节点的小型集群,但我认为主节点应该位于单独的服务器中,因此它只有自己的资源。但是我在 k3s 文档 --disable-agent 中再也看不到了,我读到它有问题所以他们删除了它,所以我想知道我怎么能只在一个节点上设置服务器,这是一个很好的做法吗?

分离主节点是 Kubernetes 使用的 typical 架构,因为它运行管理集群所需的所有重要组件(API 服务器、控制器管理器、etcd 和调度程序)。因此,将它 运行 放在另一个节点上是个好主意(在 K8s 中,这是唯一的方法,尽管如果你不污染它,可以在主节点上安排 pods)

这里有一个很好的 article 关于拥有与您的期望状态相关的多节点 k3 集群。

另一种方法是在与 --disable-agent 相关的 github 问题中建议的解决方案,并使用 NoExecute 密钥污染主服务器。