atlassian/escalatorEscalator是一个为Kubernetes优化的批处理或作业型水平自动扩缩器。它专为大型批处理或作业型工作负载设计,这些工作负载在集群需要缩容时无法被强制排空和移动——Escalator会确保节点上的Pod完成后再终止节点。同时,它针对快速扩展集群进行了优化,以确保Pod不会处于待处理状态。
Escalator适用于以下场景:
该自动扩缩器的需求源于处理非常大的批处理工作负载时的实践经验,默认自动扩缩器无法足够快地扩展集群,且这些工作负载不能被默认自动扩缩器强制排空,必须在节点终止前完成。
go.mod和go.sum中找到bash# 构建Docker镜像 docker build -t atlassian/escalator .
完整部署文档请参见部署文档。
bashkubectl create -f docs/deployment/escalator-rbac.yaml
修改配置文件以适应您的需求,然后创建:
bashkubectl create -f docs/deployment/escalator-cm.yaml
bashkubectl create -f docs/deployment/escalator-deployment.yaml
bashgo run cmd/main.go --kubeconfig=~/.kube/config --nodegroups=nodegroups_config.yaml
详细配置说明请参见配置文档。配置主要通过节点组配置文件(nodegroups_config.yaml)和配置映射进行,包括设置松弛空间、节点组选择、云提供商配置等关键参数。
bash# 运行所有测试 make test # 测试特定包(例如controller包) go test ./pkg/controller
完整文档和设计请参见Docs。
Copyright (c) 2018 Atlassian and others. Apache 2.0 licensed, see LICENSE file.
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务