在GKE中,为了节省成本,我通常将节点编号设置为零。当我自动缩放节点(或者说add)并运行pod时。连接到负载均衡器和URL的时间超过6-7分钟。这就是运行状况检查处于等待状态的原因。有什么方法可以缩短时间吗?谢谢
发布于 2021-05-14 17:19:34
如果Cloud Functions不是一个选项,你可能想看看Cloud Run (它支持容器并缩放到零)或GKE Autopilot (它不会缩放到零,但你可以缩减到低资源,它会根据需要自动缩放)
发布于 2021-05-11 13:42:11
简而言之,不是真的。节点的启动时间不容易控制,基本上这是虚拟机分配、打开、启动操作系统和执行其他一些与Kubernetes相关的操作(如配置、添加到节点池等)所需的时间!除了Pods外,启动时间取决于Docker镜像(大小/依赖关系等)。
不建议将应用程序缩减到零节点。总是建议启动一些节点( GKE集群上没有运行其他应用程序吗?Kubernetes集群建议至少运行3个节点)。
您是否考虑过使用Cloud Functions?在你的情况下有可能吗?这是我所知道的快速扩展和零扩展的最佳选择。一般来说,你可以对函数保持某种“ping”,以相对便宜的价格保持它的“热”。
如果上面的选择都不可能(我说让你的节点池至少有3个节点在运行,这是最好的,因为Kubernetes控制计划需要时间来引导)。我建议从减少你的Pod的旋转时间开始,通过改进Docker镜像-减小它的大小等等。
以下是一些关于如何减小Docker镜像大小的文章
https://phoenixnap.com/kb/docker-image-size
https://www.ardanlabs.com/blog/2020/02/docker-images-part1-reducing-image-size.html
在那之后,我将为node尝试不同的机器类型,以检查哪个机器旋转得最快--这在任何情况下都是一件有趣的事情。
下面是一个关于虚拟机启动时间的有趣比较
https://stackoverflow.com/questions/67480675
复制相似问题