- 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 组件的性能与伸缩性
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
白话大数据与机器学习
高扬、卫峥、尹会生 / 机械工业出版社 / 2016-6 / 69
本书通俗易懂,有高中数学基础即可看懂,同时结合大量案例与漫画,将高度抽象的数学、算法与应用,与现实生活中的案例和事件一一做了关联,将源自生活的抽象还原出来,帮助读者理解后,又带领大家将这些抽象的规律与算法应用于实践,贴合读者需求。同时,本书不是割裂讲解大数据与机器学习的算法和应用,还讲解了其生态环境与关联内容,让读者更全面地知晓渊源与未来,是系统学习大数据与机器学习的不二之选: ·大数据产业......一起来看看 《白话大数据与机器学习》 这本书的介绍吧!