我正在GKE上运行k8s集群
它有4个不同配置的节点池。
节点池: 1 (单节点连接状态)
运行Redis & RabbitMQ
节点池: 2 (单节点连接状态)
运行监控& Prometheus
节点池: 3 (大型单节点)
应用舱
节点池: 4 (启用自动缩放的单个节点)
应用舱
目前,我正在为GKE上的每个服务运行单个副本。
然而,主要服务的3个副本,主要管理一切。
当使用HPA扩展这一主要服务时,有时会看到节点崩溃或kubelet frequent restart
吊舱进入Unkown状态的问题。
如何处理这种情况?如果节点崩溃,GKE需要时间进行自动修复,这会导致服务中断时间。
问题: 2
节点池:3-4个正在运行的应用程序荚。在应用程序中,有3-4个内存密集型的微服务,我也认为使用节点选择器并在一个节点上修复它也是一样的。
只有较小的节点池才能运行具有HPA和节点自动缩放功能的主服务。
不过,我觉得用节点选择器不是最好的方法。
最好是运行每个服务的多个副本,但目前,我们只运行每个服务的单个副本,因此请建议考虑该部分。
发布于 2020-10-25 16:58:30
正如帕特里克W在他的评论中正确地指出的:
--如果您有一个节点,就会留下一个单一的故障点--。还请记住,自动标度需要时间来启动,并且是基于资源请求的。如果您的节点由于内存密集型工作负载而遭受OOM,则需要重新调整内存请求,并将- Patrick 10月10日限制在
您可能需要重新设计您的基础设施,以便在每个节点池和重新调整哺乳动物的要求和限制中都有多个节点。
您可能想看看官方版的kubernetes文档、和Google博客中的以下章节
如何处理这种情况?如果节点崩溃,GKE需要时间进行自动修复,这会导致服务中断时间。
这就是为什么为单个节点池设置多个节点可能是更好的选择。它大大降低了您最终陷入上述情况的可能性。GKE autorapair特性需要花费时间(通常是几分钟),如果这是您唯一的节点,您不能对它做太多工作,需要接受可能的停机时间。
节点池:3-4个正在运行的应用程序荚。在应用程序中,有3-4个内存密集型的微服务,我也认为使用Node选择器并在一个节点上修复它也是一样的。 只有较小的节点池才能运行具有HPA和节点自动缩放功能的主服务。 不过,我觉得用节点选择器不是最好的方法。
你也可以在节点亲和力和抗亲和力和污点和容忍那里抢东西。
https://stackoverflow.com/questions/64287099
复制相似问题