是否有已知的方法来确定自动缩放阈值?
Posted
技术标签:
【中文标题】是否有已知的方法来确定自动缩放阈值?【英文标题】:Is there a known method to decide auto scaling threshold value? 【发布时间】:2020-12-19 06:07:04 【问题描述】:是否有已知的方法/关键字/主题来解决如何确定自动缩放阈值?
下面以 K8s HPA 为例,我只知道我可以安装一些监控工具,然后通过肉眼查看图表上显示的内存使用情况,以确定合适的阈值 100Mi。但是为什么不设置99Mi,为什么不设置101Mi呢?我觉得这个方法太手动了。
- type: Resource
resource:
name: memory
target:
type: AverageValue
averageValue: 100Mi
由于我没有精通计算机科学,所以我想问一下
有解决这类问题的已知方法吗?
或者什么样的课程可以解决这个问题?
或者从学术文章中搜索的关键字是什么?
【问题讨论】:
【参考方案1】:要在没有任何图表的情况下显示此信息,您可以使用metrics server
。在集群中运行它可以通过kubectl top
命令获取节点和单个 pod 的使用情况。
这是我正在检查节点资源的示例:
➜ ~ kubectl top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
minikube 580m 28% 1391Mi 75%
对于 pod:
➜ ~ kubectl top pod
NAME CPU(cores) MEMORY(bytes)
front-end 0m 28Mi
您还可以使用 --containers 选项查看单个容器而不是 pod 的资源使用情况。
我假设如果您使用 HPA,您已经安装了它,但值得知道的是,如果您使用 minikube,您可以轻松地启用 metrics server
和 minikube addons enable metrics-server
。如果你使用 kubeadm 引导你的服务器,那么你必须 install 它并配置它的所有 requirements 才能正确运行。
最后,您可以随时使用exec
手动检查您的 pod 使用情况:
kubectl exec -it <name_of_the_pod> top
您可以here 了解有关自动缩放器的更多产品信息。
【讨论】:
以上是关于是否有已知的方法来确定自动缩放阈值?的主要内容,如果未能解决你的问题,请参考以下文章
函数pygame.mask.from_threshold()用阈值确定mask碰撞点原理及使用方法
函数pygame.mask.from_threshold()用阈值确定mask碰撞点原理及使用方法