我可以在 Openshift master 或 Infra 节点上 运行 用户 pods

Can I run user pods on Openshift master or Infra nodes

openshift 的新手,所以如果我们可以 运行 用户 pods 在主节点或基础节点上,我有点困惑。我们有 2 个工作节点和一个主节点和基础节点,每个节点构成 4 个节点。更改的原因是在所有 4 个节点而不是 2 个计算节点之间共享负载。

通过阅读一些文档,似乎可以将 2 个角色分配给一个节点,但是是否存在任何安全风险或者这不是最佳实践?

运行 openshift 版本 v3.11.0+d699176-406

if we can run user pods on master or infra nodes

是的,绝对可以,最简单的方法是在安装时配置,例如参考https://docs.openshift.com/container-platform/3.11/install/example_inventories.html#multi-masters-using-native-ha-ai

is there any security risk or is it not best practice

运行 单个主节点或单个基础节点已经对集群的高可用性构成威胁。如果 master 失败 - 你的集群基本上是无头的,如果 infra 节点失败 - 你会失去你的内部注册表和路由器 - 从而失去外部访问或为你的图像流创建新图像的能力。这也适用于主机 OS 升级,总有一天您将不得不重新启动主节点和基础节点,您可以在修补期间保证停机时间吗?如果更新过程中出现问题怎么办?

关于主节点和基础节点上的 运行ning 用户工作负载 - 如果您没有 运行ning 特权 SCC(可以允许 运行 特权 pods 或使用系统上的任何 uid 等)- 假设您正在使用的容器引擎中没有已知错误,您在某种程度上不会受到容器破坏的影响。但是,您应该密切注意您的资源消耗,并避免 运行 在没有 CPU 和内存限制的情况下使用任何工作负载,因为主节点过载可能会导致集群性能下降。您还应该监控磁盘使用情况,因为 运行宁用户 pods 会导致更多图像加载到您的 docker 存储。

所以基本上可以归结为:

对于这两个角色,最好有多个主节点(最好是 3 个)和几个基础节点,而不是单点故障。拥有单独的主节点和工作节点当然比将它们托管在一起要好,但是如果您仔细观察资源使用情况,即使是用户工作负载的多主设置也应该更有弹性。