目前,如果我们想在kubernetes中使用水平Pod自动缩放,我们需要为我们要执行的服务指定以下内容:
Limits:
cpu: 150m
memory: 150Mi
Requests:
cpu: 42m
memory: 50Mi
我有一些服务都可以使用HPA进行扩展。
我们是否可以过度提供这些服务?与这些服务一样,资源添加超出了VM可用的总资源。
考虑这样一种情况:假设POD的请求在总可用CPU范围内,但超出限制
例如:
总可用CPU为1000m核,2个吊舱,每个吊舱请求500m核,每个吊舱限制1000m核。
首先,如果总数只有1000m,我可以像1000m一样设置这个限制吗?
如果是?更新2:
现在,如果pod 2没有使用其整个500米CPU核心,而pod 1已达到其500米的总请求限制,
这个pod现在可以使用超过500m核心,而这些核心没有被第二个核心使用,因为限制设置为1000?
如果没有?更新2:我想这已经无效了
那么我想过度调配是不可能的?
让我们先简要介绍一下自动缩放算法:
每30秒一次(--水平和pod-自动缩放器-同步周期
默认值),自动缩放器控制循环对pod进行排队并收集它们的CPU利用率。然后,它将此值的算术平均值与配置的阈值进行比较,并调整副本数量以匹配所需的CPU利用率目标。CPU利用率是pod最后1分钟CPU使用率除以pod请求的CPU的平均值。目前,CPU使用率取自Heapster服务(应存在于库贝-system
命名空间中)。
在这一部分,资源请求、资源限制和pod亲和力没有任何用处。我们只得到了所需的副本数量。然后Scheduler参与自动缩放过程,并开始根据副本数量调度pod。此时,资源请求、资源限制和pod亲和力被考虑在内,以决定下一个pod副本将部署到哪个节点。
根据上面提到的,您可以有几个部署不能在同一时间段扩展到最大副本数。但是在资源量不足的情况下,首先扩展-消耗资源的人,任何其他不适合剩余资源的pod都不会被调度,直到资源再次空闲。
在GCP或GKE上,当您需要更多计算能力时,可以使用autoscaler向集群添加新节点,并在负载下降时删除它们。这将有助于避免“过度配置”,因为您始终可以拥有所需的计算容量,而不是更多,也不是更少。
更新:调度器根据可用资源、在命名空间上设置的默认或配置的限制以及pod相关性来决定是否运行pod。
限制每个特定pod的工作,限制其资源消耗;它们并非旨在限制多个pod的汇总资源消耗。
pod以请求中提到的资源量启动。
例如,如果节点上有1000个CPU,并且pod请求500个限制为1000,则调度器知道其他500个可用,即使pod此时消耗的所有资源达到限制。因此,在有1000个CPU可用的节点上,可以启动两个POD,每个POD的请求为500,限制为1000。
DaoCloud 提供免费资源吗? DaoCloud 为用户提供免费的云端测试环境 部署在云平台上的应用为什么会停? 您好,DaoCloud 云端运行时资源是我们提供给用户用以开发、测试场景的云端免费资源,系统会根据资源使用情况智能回收,您可以参考具体资源回收规则:http://docs.daocloud.io/app-deploy-mgmt/cloud-limited-resources 。 若
我试图提供一个静态资源(css文件)。 我已经注册了位置和处理程序 所以Tomcat的记录器显示到资源的正确映射 将URL路径[/resources/**]映射到类型为[类org.springframework.web.servlet.resource.ResourceHttpRequestHandler]的处理程序上 当浏览器呈现视图时,检查器显示404错误,试图获取静态资源。 应用初始化器。J
我正在使用aws无服务器java容器将Jersey服务包装到aws Lambda中。我决定使用函数别名进行“测试”和“生产”阶段,最终指向lambda函数的不同版本。 我需要在中选择一些属性。基于该别名的属性文件,基本上是因为我需要与“test”或“prod”DB对话,或者使用不同的endpoint来调用外部web服务。 为此,我需要调用Context对象的方法getInvokedFunction
我正在开发一个由多个maven模块组成的解决方案,以处理不同的有界上下文。 由于spring boot,每个模块都公开了自己的rest api,所有这些都托管在一个maven模块中,并带有一个由@SpringBootApplication注释的类。简化的项目结构是这样的: 在面对复合 UI 时,我试图使用相同的模式:一个保留布局、静态资源的地方,同时,html 页面属于其 maven 模块中保留的
问题内容: 我正在尝试在Web应用程序中提供静态资源,并且尝试了: 但是在Spring 5中不推荐使用WebMvcConfigurerAdapter。现在如何访问静态资源? 问题答案: 春季5-静态资源 从文档中:
从RESTful Web服务(通过GET)获取项目集合时,每个项目的表示形式(例如在JSON中)通常包含项目的资源标识符。这可以是资源的ID,也可以是通常包含ID的整个URI。 如果客户端需要与表示单个项的远程资源进一步交互,则需要此标识符(ID或URI)。许多人似乎认为提供整个URI而不仅仅是ID是一种很好的做法,这样客户机就与URI构造无关(例如,这就是Miguel Grinberg在本文中所