自动扶梯是Kubernetes的批处理或工作优化的水平自动化器
它是针对大批量或基于工作的工作负载而设计的,这些工作负载不能在群集需要缩放时被强制消耗和移动 - 自动扶梯将确保在终止节点之前在节点上完成POD。它还可以优化,以尽可能快地扩展群集以确保将POD保持在待处理状态。
计算确定是否扩大,向下还是保持当前规模的要求和能力
等待直到节点上的非daemonset Pods完成,然后终止节点
旨在在选定的自动缩放组上工作,以允许默认的Kubernetes Autoscaler继续扩展基于服务的工作负载
首先自动终止最古老的节点
支持松弛空间,以确保在预定豆荚激增的情况下确保额外的空间
不会终止或因素串起的节点计算 - 允许携带的节点持续进行调试
支持不同的云提供商 - 仅此刻AWS
扩展和利用指标
领导者选举,因此您可以在集群中运行HA部署。
节点组中多种不同类型实例的基本支持。
该自动制剂的需求源自我们自己的经验,安排了非常大的批处理工作负载,并且默认的自动制剂不够快地扩大集群的扩展。这些工作负载不能被默认的自动计算机施加力,必须在终止节点之前完成。
见文档
Kubernetes版本1.24+。自动扶梯已在1.24+上进行了测试和部署。 Kubernetes的较旧版本可能会有错误或问题,这些错误或问题将阻止其正常运行。
GO版本1.20+
依赖项及其锁定版本可以在go.mod
and go.sum
中找到。
#获取依赖并建立escalatormake构建
Go Run cmd/main.go -kubeconfig =〜/.kube/config -nodegroups = nodegroups_config.yaml
有关完整部署文档,请参见部署。
#构建docker imagedocker build -t atlassian/reastator。#创建rbac configurationKubectl create -f docs/deployment/extraperment/eScalator -rbac.yaml#创建配置映射 - 修改适合您的需求Kubectl create -f create -f docs/exployment/exployment/expalator calator -calator -cm.yaml #创建deploymentKubectl创建-f doc/deployment/reasalator -deployment.yaml
请参阅配置
进行测试
例如,测试控制器软件包:
进行测试./pkg/controller
欢迎提取请求,问题和评论。用于拉请求:
为新功能和错误修复添加测试
遵循现有样式(我们正在使用goreturns进行格式和棉绒自动扶梯)
单独的无关更改为多个拉请请求
请参阅现有问题以开始贡献的问题。
对于更大的更改,请确保您首先通过创建问题并解释预期的更改开始讨论。
Atlassian要求贡献者签署贡献者许可协议,称为CLA。这是一份记录,表明贡献者有权将代码/文档/翻译贡献给项目,并愿意将其用于分销和衍生作品(或愿意转移所有权)。
在接受您的贡献之前,我们要求您请按照下面的适当链接进行数字签名。公司CLA适用于那些作为组织成员做出贡献的人,并且单个CLA适用于作为个人做出贡献的人。
公司贡献者的CLA
个人的CLA
版权(C)2018 Atlassian和其他人。 Apache 2.0许可,请参阅许可证文件。