对于每种环境,我们是否需要单独的GKE集群?

问题描述

我正在使用GKE。对于单个区域,它是免费的(仅实例成本)。对于DEV我们正在使用它,但对于QA / DEV / Production之类的其他环境,我们是否需要单独的GKE集群,或者在当前GKE内是否可以使用其他名称空间?这是成本和安全性的最佳方法

解决方法

这取决于您的要求。两种选择都是可行的。

像QA / DEV / Production这样的环境,我们需要单独的GKE群集

在大型企业的专业环境中,这将是不同VPC中的不同集群(每个环境一个VPC),您也可以使用单独的项目,但不是必需的。

在当前GKE内,其他命名空间将起作用

这比较便宜,但您的分隔较少。只有你知道你需要什么。

,

不。您可以在同一群集中为不同的环境使用不同的名称空间。这样会很划算。

如果您使用的是 nodeports ,则需要注意以下几点:

但是节点端口在同一群集中必须是唯一的。因此,如果您使用节点端口访问应用程序,则需要不同的集群(如果您仍然希望在所有环境中都具有相同的节点端口。如果没有,则可以使用具有不同名称空间的同一集群。 例如。如果您在Cluster1名称空间1中使用节点端口为30077的app1(用作dev) 您不能在集群1命名空间2中将node1部署为具有节点端口30077的app1(用作测试) 但是您可以在cluster1名称空间2中使用节点端口3xxxx部署app1(已使用的端口除外-例如,在这种情况下为30077)