在非默认命名空间中运行k8s pod的好处




请原谅我对k8s的了解有限。根据k8s的最佳实践,我们需要在非默认命名空间中运行pod。这种方法的几个原因是。

  • 创建逻辑隔离并在上创建uat、sit、dev环境相同的k8s簇
  • 当我们拥有少于10个微服务在相同的POD中运行

从安全、性能和维护的角度来看,我们还有其他好处吗?

我认为最佳实践是考虑如何使用集群并将名称空间考虑在内。因此,考虑一下你将在集群中运行什么,你想为它投入多少资源,以及谁能做什么。命名空间可以帮助控制所有这些东西。

就运行内容而言,kubernetes对象名称在命名空间中必须是唯一的,这一点很重要。因此,如果你想运行同一应用程序的两个实例,那么你要么将它们安装在不同的命名空间中,要么区分资源名称——例如,helm charts默认添加前缀以确保唯一性。

此外,基于角色的访问控制权限可以设置为命名空间特定的权限,并且资源使用配额可以应用于命名空间。因此,如果你在与UAT相同的集群上有adev命名空间,那么你可以确保UAT上的权限受到更多限制,并且它有更多的资源可用性保证。

有关这些方面的更多信息,请参阅https://dzone.com/articles/kubernetes-namespaces-explained和https://kubernetes.io/blog/2016/08/kubernetes-namespaces-use-cases-insights/

最新更新