如果您在 Kubernetes master 上运行 taint 命令:
kubectl taint nodes --all node-role.kubernetes.io/master-
Run Code Online (Sandbox Code Playgroud)
它允许您安排 pod。所以它充当节点和主节点。
我试图运行 3 个服务器集群,其中所有节点都有两个角色。从第一眼看,我没有注意到任何问题。
你认为现在这个解决方案可以用来运行生产服务的小集群吗?如果不是,真正的缺点是什么?与标准设置相比,此设置在哪些情况下会失败?
假设 etcd 在所有三台服务器上运行。
谢谢
运行单独的主节点和工作节点的标准原因是为了防止繁忙的工作负载干扰集群。
假设您有建议的三个节点。一个最终运行一个数据库;一个运行 Web 服务器;第三个运行一个异步工作 pod。突然间,您的系统收到了大量流量,Rails 应用程序使用了 100% CPU,Sidekiq 工作程序正在使用 100% CPU,MySQL 数据库正试图处理一些复杂的连接,既占用高 CPU 资源,也在使用所有可用的磁盘带宽。您运行kubectl get pods:哪个节点实际上能够为这些请求提供服务?如果您的应用程序触发了 Linux 内存不足杀手,您能否保证它不会杀死etcd或kubelet,这两者对集群的工作都至关重要?
如果它在云环境中运行,您通常可以使用较小(更便宜)的节点作为主节点。(Kubernetes 本身不需要大量的处理能力,但它确实需要它可靠地可用。)
| 归档时间: |
|
| 查看次数: |
4362 次 |
| 最近记录: |