自動扶梯是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許可,請參閱許可證文件。