Links

Tag与功能

max_group功能依赖于识别Autoscaling(AWS)或者伸缩组(阿里云)所配置的tag来实现不同的功能,以下为tag key-value及功能解释
tag-key
默认值
功能
版本支持
spotmax:detaching_delay_seconds
30
当触发spot回收时,间隔多少秒后,将被回收机器从asg中detach,默认为30秒
ALI/AWS
spotmax:is_enable_preaction
true
增加此tag为开启集群防退化功能,此功能为预测即将被回收的机器,并提前进行更替机型操作,tag-value为true表示为开启此功能
ALI/AWS
spotmax:max_num_of_terminated_one_time
1
集群防退化功能一次关闭的最大机器数,替换机器执行分批替换,每次替换的最大数量
ALI/AWS
spotmax:preaction_termination_delay_seconds
600
集群防退化功能执行terminate间隔时间
ALI/AWS
spotmax:preaction_detach_delay_seconds
30
集群防退化功能中,将被替换机器间隔多少秒后,会被detach出asg
ALI/AWS
spotmax:is_enable_od_fallback
true
此tag-value为true表示,在前述中断预补偿机制中,当竞价实例无法获取时,会用按需实例补充
ALI/AWS
spotmax:persistence_dev
null
添加此tag可以进行ebs的漂移,无默认值,tag-value为非root盘在instance上的映射路径,暂时仅aws平台支持,例如:/dev/sdf
ALI/AWS
spotmax:consul_port
null
配置此参数为consul支持,无默认值,tag-value为consul agent本地端口号 在实例中断并经过detaching_delay_seconds时间后,该实例将会从consul的服务发现列表中移除,例如:8500
ALI/AWS
spotmax:k8s_config_file_path
null
kubernetes 配置文件,用于把权限赋给max group,例如:xxx/config
ALI/AWS
spotmax:k8s_node_drain_grace_second
null
node下的pod移出延迟时间,例如:600
ALI/AWS
spotmax:spot_price_limit
null
spot价格限制,例如 0.9, 当spot机型价格超过按需机型价格的90%,从替换机型列表中移出这个机型,例如:0.75
ALI
spotmax:fixed_desired_capacity
null
重新设置伸缩组的机器的期望值,例如:3
ALI/AWS
spotmax:alt(num)
null
用于当伸缩组内的机器没有时,用额外的机器来替换,例子:
(key:spotmax:alt1
value:ecs.mn4.large)
(key:spotmax:alt2
value:ecs.n2.medium)
ALI/AWS
spotmax:ignore_tag
false
当tag-value为true时,maxGroup不管理此伸缩组
ALI/AWS
spotmax:is_to_handle_rebalance_event
false
是否开启AWS容量再平衡
AWS
spotmax:is_to_handle_scaling_failure
false
是否开启接收伸缩失败信息处理
ALI/AWS
spotmax:gurantee_living_mins
null
实例开启后不中断时长,最长设置60分钟,单位为分钟
ALI
spotmax:buffer_mins
1
当设置不中断时间,误差值,建议1分钟,单位为分钟
ALI
spotmax:is_only_od_rep
false
只开od进行替换
AWS
spotmax:od_least_live_hours
1
OD至少运行多长时间,单位小时
AWS
spotmax:sd_delay_detach_secs
30
consul移除时间
ALI/AWS
spotmax:k8s_delay_draining_secs
30
k8s移除时间
ALI/AWS
spotmax:warm_pool_start_up_duration_min
1
热池功能:实例开机多长时间后转换停止状态,单位为分钟
AWS
spotmax:warm_pool_update_frequency_min
60
热池功能:实例更新频率,单位为分钟
AWS
spotmax:warm_pool_min_size
0
热池功能:开启多少个OD实例,当设置为-1时,为伸缩组的最大值与期望值之差
AWS
spotmax:az_rebalance
null
自动控制AzRebalance。调整目标为各zone的总InService实例数均衡,不区分spot还是od(删除此Tag后需要人工设置Asg的AzRebalance状态); 取值2种,同时配置时需用逗号分割: (1) "true" -- 开启AzRebalance (2)"true,optimize" - 功能(1)开启, 且在持续优化时,把新实例补充到实例数最少的AZ。
补充:此tag对以下3类asg无效
  1. 1.
    配置了spotmax:k8s_config_file_path的eks的节点组
  2. 2.
    配置了spotmax:persistence_dev的asg
  3. 3.
    单Az的asg
AWS
spotmax:spot_supply_checking_interval_mins
60
主动优化时,检查spot库存恢复的最大间隔时间。默认值0会当做60分钟;建议在spot库存紧张开出很多od时,适当降低到5~30min,值越小则检查越频繁
AWS
注:当启用 spotmax:k8s_node_drain_option 时,建议将spotmax:detaching_delay_seconds 的tag-value设置为80-90之间,这样可以在保证新node ready情况下,将pod转移过去。