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。然后执行节点摘除。
      • 这块没有实践过,只是做一下记录。

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

查看所有标签

猜你喜欢:

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

自制编译器

自制编译器

[日] 青木峰郎 / 严圣逸、绝云 / 人民邮电出版社 / 2016-6 / 99.00元

本书将带领读者从头开始制作一门语言的编译器。笔者特意为本书设计了CЬ语言,CЬ可以说是C语言的子集,实现了包括指针运算等在内的C语言的主要部分。本书所实现的编译器就是C Ь语言的编译器, 是实实在在的编译器,而非有诸多限制的玩具。另外,除编译器之外,本书对以编译器为中心的编程语言的运行环境,即编译器、汇编器、链接器、硬件、运行时环境等都有所提及,介绍了程序运行的所有环节。一起来看看 《自制编译器》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

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

HEX CMYK 互转工具