Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将kubernetes命名空间链接到节点_Kubernetes - Fatal编程技术网

将kubernetes命名空间链接到节点

将kubernetes命名空间链接到节点,kubernetes,Kubernetes,将开发、qa和生产等环境映射到kubernetes名称空间似乎是一种很好的做法。为了实现“真正的”分离,最好是专门为其中一个名称空间标记节点,并确保仅在这些节点上调度这些环境中的资源。这至少是我们目前的想法。在那些名称空间中可能有一些清单需要使用,这些清单应该/不应该被篡改。Kubernetes似乎不支持将名称空间与开箱即用的节点相关联PodNodeSelectorAcquisition controller似乎很接近,但不是我们想要的。实现我们想要的目标的唯一选择似乎是一个定制的变异许可web

将开发、qa和生产等环境映射到kubernetes名称空间似乎是一种很好的做法。为了实现“真正的”分离,最好是专门为其中一个名称空间标记节点,并确保仅在这些节点上调度这些环境中的资源。这至少是我们目前的想法。在那些名称空间中可能有一些清单需要使用,这些清单应该/不应该被篡改。Kubernetes似乎不支持将名称空间与开箱即用的节点相关联
PodNodeSelector
Acquisition controller似乎很接近,但不是我们想要的。实现我们想要的目标的唯一选择似乎是一个定制的变异许可webhook

我想其他人以前也来过这里,有一个解决方案可以解决我们的主要问题,即我们不希望开发或qa环境的负载影响生产性能

是否有现成的解决方案将名称空间链接到节点


如果没有,是否有其他方法确保环境不会干扰负载/性能

在我看来,在一个集群中拥有多个环境是个坏主意,原因很多

如果您确定要这样做,并且不想破坏生产吊舱的性能,那么可以轻松地连接到部署/吊舱


另一种方法是将标签附加到节点上,并使用PodNodeSelector强制在节点上部署特定的POD。我认为在一个集群中有多个环境是一个坏主意,原因有很多

如果您确定要这样做,并且不想破坏生产吊舱的性能,那么可以轻松地连接到部署/吊舱

另一种方法是将标签附加到节点上,并使用PodNodeSelector强制在节点上部署特定的POD

我想其他人以前也来过这里,有一个解决方案可以解决我们的主要问题,即我们不希望开发或qa环境的负载影响生产性能

我去过那里,被它烧了

在某些情况下,在一个集群中使用多个环境可能是一个好主意,但在单个集群中混合使用dev/qa/stage和生产会带来麻烦。负载本身可能不是主要问题,特别是如果您通过适当的资源分配来减轻影响,但任何调整、修改和开发过程导致的kube系统吊舱中断都会直接影响生产。您不能预先测试kubernetes系统组件上的更新,开发人员上的任何cni问题都可能导致生产速度减慢或无法运行等等。。。我们走了这条路,不推荐它

话虽如此,分离本身是相当容易的。在我们的一个集群上,我们将一些项目的dev/qa/stage环境保存在单个集群中,并用标签分隔一些资源。严格地说,并不是真正的env分离,但我们确实为elk提供了覆盖所有三种环境的专用节点,独立的gitlab Runner节点、数据库节点等等,但原理是一样的。我们为节点添加标签,并将
nodeAffinity
nodeSelectorTerms
一起用于具有相同标签的目标节点组,以实现特定任务/服务(或您案例中的环境)分离。作为旁注,
nodeSelector
根据进行了润滑

我想其他人以前也来过这里,有一个解决方案可以解决我们的主要问题,即我们不希望开发或qa环境的负载影响生产性能

我去过那里,被它烧了

在某些情况下,在一个集群中使用多个环境可能是一个好主意,但在单个集群中混合使用dev/qa/stage和生产会带来麻烦。负载本身可能不是主要问题,特别是如果您通过适当的资源分配来减轻影响,但任何调整、修改和开发过程导致的kube系统吊舱中断都会直接影响生产。您不能预先测试kubernetes系统组件上的更新,开发人员上的任何cni问题都可能导致生产速度减慢或无法运行等等。。。我们走了这条路,不推荐它

话虽如此,分离本身是相当容易的。在我们的一个集群上,我们将一些项目的dev/qa/stage环境保存在单个集群中,并用标签分隔一些资源。严格地说,并不是真正的env分离,但我们确实为elk提供了覆盖所有三种环境的专用节点,独立的gitlab Runner节点、数据库节点等等,但原理是一样的。我们为节点添加标签,并将
nodeAffinity
nodeSelectorTerms
一起用于具有相同标签的目标节点组,以实现特定任务/服务(或您案例中的环境)分离。作为旁注,
nodeSelector
根据进行了润滑