对于小型生产环境,仅使用主 k8s 还是使用一些迷你 k8s 解决方案更好?

对于小型生产环境,仅使用主 k8s 还是使用一些迷你 k8s 解决方案更好?

我有一个小型隔离生产环境的场景,其中只有三台 Linux 服务器(CentOS 或 RHEL)。我想在这些服务器上部署一个小型的 k8s 集群。目前我有两种方法:

  1. 安装仅具有主节点的纯 k8s 集群,并从 NoSchedule 中解除它们的污染以在其上运行所有 pod。
  2. 使用 k3s、k0s 或 microk8s 安装迷你集群解决方案,并将所有节点配置为主节点和工作节点

如果我使用第一种方法(我知道这是一种不好的做法)这是在主服务器上运行 pod 的正确方法吗?

如果我想使用第二个,谁是最好和最容易在不同的气隙环境中安装和维护它们?(我在生产中使用了 k8s 和 okd 3,但没有使用它们)

最后,您认为这两种方法中哪种是最好的,或者是否有更适合我的情况的方法?

先谢谢您的帮助

答案1

影响生产正确性的一个重大细节是信息安全对你有多重要。

Kubernetes 为您提供机制(资源配额限制范围Pod 安全准入pod 优先级,……)保护一个命名空间中的应用程序不受另一个命名空间的影响。如果您已经知道如何设置这些 - 或者您知道您必须学习它们 - 那么将应用程序放到“常规” Kubernetes 集群的控制平面节点上可能是一个不错的选择。

对信息安全的关注将使你采取适当的强化措施变得非常重要,当你配置的 Kubernetes 集群像原始上游 Kubernetes 一样启动时,这些措施更容易做到。你甚至可能想要设置维索对应用程序容器可以执行的操作提供额外的限制。如果这个故事对你的情况很重要,请查看中正课程大纲来了解其他需要考虑的主题。

如果信息安全不是重点,也许你渴望尽快启动并运行某些功能,我认为 k3s 会更适合你。k3s 可以为你提供更多开箱即用的功能,并且可以更轻松地运行具有良好可用性的复制控制平面。

相关内容