Kubernetes中的监控与自动伸缩
在Kubernetes环境中,自动伸缩功能允许我们根据应用程序不断变化的需求自动调整工作负载。这主要通过水平伸缩实现,包括调整部署中运行的Pod数量和集群中运行的节点数量。
自动伸缩类型
- Pod水平伸缩 :在Kubernetes中创建部署时,如果在
podTemplate的resources部分进行了配置,每个容器都会有requests和limits字段(由相应的CPU和内存字段指定)。当处理工作负载所需的资源超过分配的资源时,可以通过向部署中添加额外的Pod副本来增加部署的容量,这就是水平伸缩。基于负载让软件进程自动决定部署中Pod的副本数量,就是自动伸缩,目的是使副本数量与定义的应用负载指标保持一致,例如当前正在使用的已分配CPU的百分比。 - 节点水平伸缩 :每个节点都有一定数量的CPU(通常以核心数表示)和内存(通常以GB表示)可供Pod使用。当所有运行的Pod耗尽了所有工作节点的总容量(即所有Pod的CPU和内存请求/限制等于或大于整个集群的容量)时,集群资源就会饱和。为了允许在集群上运行更多的Pod或进行更多的自动伸缩,需要以添加额外工作节点的形式增加容量。当让软件进程来做这个决策时,就是在对集群的总容量进行自动伸缩,在Kubernetes中,这由
ClusterAutoscaler处理。
需要注意的是,增加应用程序的Pod副本数量称为水平伸缩,由 <
超级会员免费看
订阅专栏 解锁全文
1491

被折叠的 条评论
为什么被折叠?



