在一段时间内未收到用户的新请求时,将GKE节点自动缩放为0

时间:2019-11-02 15:35:30

标签: kubernetes google-cloud-platform google-kubernetes-engine autoscaling

我正在构建一个具有n1-standard-2节点的GKE集群上具有一些微服务部署的应用。

由于这是一个流量很小且流量很少的小型应用程序,因此有时我的应用程序一段时间内没有收到流量。

为了降低成本。

  • 当一段时间内没有用户请求时,我可以将所有运行服务器Pod的节点自动缩减为零。当收到新请求时,自动放大以处理该请求。

如果可能的话,如何在GKE中做到这一点?

如果这不可行,我还可以使用其他哪些方法来降低成本?

2 个答案:

答案 0 :(得分:0)

您可以配置群集自动缩放器,并为节点池指定至少0个节点。

有关Minimum and maximum node pool size的文档中:

  

注意:从Kubernetes 1.7版开始,您可以为节点池指定最小大小为零。如果不需要其中的实例来运行工作负载,这将使您的节点池完全缩小。

您可以使用以下命令在现有群集my-cluster上配置自动缩放器:

gcloud container clusters update my-cluster \
    --zone us-central1-a \ # if zonal, region otherwise
    --enable-autoscaling --min-nodes 0 --max-nodes 3

答案 1 :(得分:0)

norbjd 对您已经mentioned,您可以配置集群自动缩放器,并为节点池指定最少0个节点这样做。

了解使用Kubernetes 1.7版时,您可以为节点池指定最小大小为零。如果不需要运行其中的实例,则可以使节点池完全缩小。 (即不使用时不收费)

您要做的就是将最小节点数设置为零,并且应该设置为空。

希望这会有所帮助!