
autoscaler/autoscale-dockerswarm-rabbitAutoscaler是一款针对Docker Swarm集群的服务自动扩展工具,旨在提供按需扩展能力,实现资源的高效分配,最小化运行成本并确保用户满意度。作为可扩展框架,它允许用户自定义模块以检索待扩展服务、获取决策指标及执行扩展操作,适配多样化的业务场景需求。
bashdocker run -d \ --name autoscaler \ --network swarm-network \ -e SWARM_MANAGER_URL=[***] \ -e RABBITMQ_URL=amqp://user:password@rabbitmq:5672 \ -e SCALE_LABEL=autoscaler.enable=true \ -e SCALE_INTERVAL=30 \ -e MIN_REPLICAS=1 \ -e MAX_REPLICAS=10 \ autoscaler:latest
yamlversion: '3.8' services: autoscaler: image: autoscaler:latest container_name: autoscaler networks: - swarm-network environment: - SWARM_MANAGER_URL=[***] # Docker Swarm管理器REST API地址 - RABBITMQ_URL=amqp://user:password@rabbitmq:5672 # RabbitMQ连接地址 - SCALE_LABEL=autoscaler.enable=true # 用于识别待扩展服务的Swarm标签 - SCALE_INTERVAL=30 # 扩展检查间隔(秒) - MIN_REPLICAS=1 # 服务最小副本数 - MAX_REPLICAS=10 # 服务最大副本数 deploy: placement: constraints: [node.role == manager] # 建议部署在Swarm管理节点 networks: swarm-network: external: true # 需提前创建的Swarm网络
| 环境变量 | 描述 | 示例值 |
|---|---|---|
| SWARM_MANAGER_URL | Docker Swarm管理器REST API地址 | [***] |
| RABBITMQ_URL | RabbitMQ服务连接URL(若使用RabbitMQ分析器) | amqp://user:password@rabbitmq:5672 |
| SCALE_LABEL | 用于标记待扩展服务的Swarm标签键值对 | autoscaler.enable=true |
| SCALE_INTERVAL | 扩展决策检查时间间隔(秒) | 30 |
| MIN_REPLICAS | 服务允许的最小副本数 | 1 |
| MAX_REPLICAS | 服务允许的最大副本数 | 10 |
Autoscaler支持通过以下模块类型扩展功能:
ServiceDiscoverer接口,定义如何发现需扩展的服务(如基于标签、命名规则等)。MetricCollector接口,自定义扩展决策指标(如CPU使用率、自定义业务指标等)。Scaler接口,定义扩缩容执行逻辑(如调用外部API、执行特定命令等)。详细开发指南请参考官方文档:[***]


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务