gpt4 book ai didi

docker - 单节点kubernetes集群上的HPA实现

转载 作者:行者123 更新时间:2023-12-03 01:26:45 25 4
gpt4 key购买 nike

我正在GKE上运行Kubernetes集群。运行整体应用程序,现在迁移到微服务,因此两者都在集群上并行运行。

整体应用程序是简单的python应用程序,占用了200Mb的内存。

K8s集群是具有15Gb memory and 4vCPU的简单单节点集群GKE。

现在,我正在考虑将HPA应用于我的微服务和整体应用程序。

在单节点上,我还安装了包含(elasticsearch, mongoDb, Graylog pod)的Graylog堆栈。由命名空间Devops分隔。

在另一个 namespace 监视中,正在运行Grafana, Prometheus, Alert manager

还有ingress controller and cert-manager正在运行。

现在,在默认 namespace 中,还有另一个供应用程序使用的Elasticsearch,正在运行Redis, Rabbitmq。这些都是单个pod,带有音量的statefulsetsdeployment类型。

现在,我正在考虑将HPA应用于微服务和应用程序。

有人可以建议如何在GKE上添加节点池和自动扩展。当我在池中添加节点并从GCP控制台删除旧节点时,整个群集将重新启动,并且服务会停顿一段时间。

另外,我正在考虑使用affinity/anti-affinity,因此有人可以建议开发基础架构并实现HPA。

最佳答案

从问题的措辞来看,我怀疑您希望在不中断的情况下将当前的工作负载移至新的池中。

由于此操作表示自愿中断,因此可以从control the number of pods that can be evicted in this voluntary disruption operation定义PodDisruptionBudget开始:

A PDB limits the number of pods of a replicated application that are down simultaneously from voluntary disruptions.



PDB中的设置取决于您的应用程序和您的业务需求,有关要应用的值的引用,您可以检查 this

此后,您可以 drain安排您的应用程序的节点,因为它会受到预算的“保护”,并且 drain使用 Eviction API而不是直接删除 pods ,这将使逐出更为顺畅。

关于 Affinity,我不确定它是否适合您要实现的上述目标。但是,有一个关于 in the comments这个特殊问题的答案。

关于docker - 单节点kubernetes集群上的HPA实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57969331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com