- pod的横向自动伸缩
- 由Horizontal控制器执行,创建HorizontalPodAutoscaler(HPA)资源来启用和配置Horizontal控制器。
- Horizontal控制器周期性检查pod度量,计算满足HPA资源所配置的目标数值所需的副本数量,进而调整目标资源的replicas字段。
- 过程描述
- 获取被伸缩资源对象管理的所有pod度量
- pod与节点度量数据由cAdvisor获取,并由集群级组件Heapster聚合。HPA控制器向Heapster发起REST调用来获取所有pod度量数据。
- 计算使度量数值到达所指定目标值所需的pod数量
- 更新资源replicas字段
- autoscaler控制器通过scale子资源来修改被伸缩资源的replicas字段。
- 暴露Scale子资源
- Deployment
- ReplicaSet
- ReplicationController
- StatefulSet
-
- 获取被伸缩资源对象管理的所有pod度量
- yaml
-
apiVersion: autoscaling/v2beta1 kind: HorizontalPodAutoscaler metadata: name: kubia namespace: service labels: app: xxx version: v0.0.1 spec: scaleTargetRef: apiVersion: extensions/v1beta1 kind: Deployment name: xxx minReplicas: 1 maxReplicas: 5 metrics: - type: Resource resource: name: cpu targetAverageUtilization: 30 - type: Resource resource: name: memory targetAverageUtilization: 40 - 观察 wathc -n 1 kubectl get hpa,deployment
-
- HPA对象可以使用三种度量
- metric类型
- 使用情况会被监控的资源
- 资源的目标使用量
- resource度量类型【如上例子】
- pods度量类型
- 用来引用任何其他种类的与pod直接相关的度量
- QPS,消息队列中的消息数量
- 测试后不可用
- 用来引用任何其他种类的与pod直接相关的度量
- Object度量类型
- 基于非直接与pod关联的度量来进行伸缩
-
- HPA不允许缩容到0个副本
- 集群节点横向扩容
- Cluster Autoscaler
- 节点资源不足,自动部署新节点,节点长期使用率低,下节点。
- 归还节点,Cluster Autoscaler通过监控所有节点上请求的cpu和内存实现这一点。被选中下线,标记为不可调度,随后疏散pod。然后执行节点摘除。
- 这块没有实践过,只是做一下记录。
- Cluster Autoscaler
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- K8S水平伸缩器 - 自动伸缩微服务实例数量
- 微服务实例自动弹性伸缩实践
- 在Kubernetes上部署和伸缩Jenkins
- Jenkins + DockerSwarm 实现弹性伸缩持续集成
- 基于Prometheus,Alermanager实现Kubernetes自动伸缩
- (译)Istio 组件的性能与伸缩性
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入理解Android内核设计思想(第2版 套装上下册)
林学森 / 人民邮电出版社 / 2017-7-1 / 158
全书从操作系统的基础知识入手,全面剖析进程/线程、内存管理、Binder机制、GUI显示系统、多媒体管理、输入系统、虚拟机等核心技术在Android中的实现原理。书中讲述的知识点大部分来源于工程项目研发,因而具有较强的实用性,希望可以让读者“知其然,更知其所以然”。本书分为编译篇、系统原理篇、应用原理篇、系统工具篇,共4篇25章,基本涵盖了参与Android开发所需具备的知识,并通过大量图片与实例......一起来看看 《深入理解Android内核设计思想(第2版 套装上下册)》 这本书的介绍吧!
XML 在线格式化
在线 XML 格式化压缩工具
UNIX 时间戳转换
UNIX 时间戳转换