kubernetes自动伸缩

栏目: 编程工具 · 发布时间: 5年前

  • 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
      • kubernetes自动伸缩
    • 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,消息队列中的消息数量
      • 测试后不可用
  • Object度量类型
    • 基于非直接与pod关联的度量来进行伸缩
    • kubernetes自动伸缩
  • HPA不允许缩容到0个副本
  • 集群节点横向扩容
    • Cluster Autoscaler
      • 节点资源不足,自动部署新节点,节点长期使用率低,下节点。
      • 归还节点,Cluster Autoscaler通过监控所有节点上请求的cpu和内存实现这一点。被选中下线,标记为不可调度,随后疏散pod。然后执行节点摘除。
      • 这块没有实践过,只是做一下记录。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C++语言的设计和演化

C++语言的设计和演化

[美] Bjarne Stroustrup / 裘宗燕 / 机械工业出版社 / 2002-1 / 48.00元

这本书是C++的设计者关于C++语言的最主要著作之一。作者综合性地论述了C++的历史和发展,C++中各种重要机制的本质意义和设计背景,这些机制的基本用途和使用方法,讨论了C++所适合的应用领域及其未来的发展前景。一起来看看 《C++语言的设计和演化》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具