# Tag与功能

max\_group功能依赖于识别Autoscaling（AWS）或者伸缩组（阿里云）所配置的tag来实现不同的功能，以下为tag key-value及功能解释

<table data-header-hidden><thead><tr><th align="center">tag-key</th><th align="center">default</th><th align="center">功能</th><th width="185" align="center">版本支持</th></tr></thead><tbody><tr><td align="center">tag-key</td><td align="center">默认值</td><td align="center">功能</td><td align="center">版本支持</td></tr><tr><td align="center">spotmax:persistence_dev</td><td align="center">null</td><td align="center">添加此tag可以进行ebs的漂移，无默认值，tag-value为非root盘在instance上的映射路径，暂时仅aws平台支持，例如：/dev/sdf</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:detaching_delay_seconds</td><td align="center">30</td><td align="center">旧实例被替换时，从asg中detach延迟(s)</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:consul_port</td><td align="center">null</td><td align="center">配置此参数为consul支持，无默认值，tag-value为consul agent本地端口号 在实例中断并经过detaching_delay_seconds时间后，该实例将会从consul的服务发现列表中移除，例如：8500</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:max_num_of_terminated_one_time</td><td align="center">1</td><td align="center">集群防退化功能一次关闭的最大机器数，替换机器执行分批替换，每次替换的最大数量。OD实例按ASG总实例1%替换，Spot按1台替换</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:preaction_termination_delay_seconds</td><td align="center">300</td><td align="center">集群防退化功能执行terminate间隔时间</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:preaction_detach_delay_seconds</td><td align="center">30</td><td align="center">集群防退化功能中，将被替换机器间隔多少秒后，会被detach出asg</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:is_enable_preaction</td><td align="center">true</td><td align="center">增加此tag为开启集群防退化功能，此功能为预测即将被回收的机器，并提前进行更替机型操作，tag-value为true表示为开启此功能</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:k8s_node_drain_grace_second</td><td align="center">300</td><td align="center">node下的pod移出延迟时间，例如：600</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:k8s_config_file_path</td><td align="center">null</td><td align="center">kubernetes 配置文件，用于把权限赋给max group，例如：xxx/config</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:is_enable_od_fallback</td><td align="center">true</td><td align="center">此tag-value为true表示，在前述中断预补偿机制中，当竞价实例无法获取时，会用按需实例补充</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:spot_price_limit</td><td align="center">0</td><td align="center">spot价格限制，例如 0.9， 当spot机型价格超过按需机型价格的90%，从替换机型列表中移出这个机型，例如：0.75</td><td align="center">ALI</td></tr><tr><td align="center">spotmax:alt(num)</td><td align="center">null</td><td align="center"><p>用于当伸缩组内的机器没有时，用额外的机器来替换，例子：</p><p>(<strong>key</strong>:spotmax:alt<strong>1</strong></p><p><strong>value</strong>:ecs.mn4.large)</p><p>(<strong>key</strong>:spotmax:alt<strong>2</strong></p><p><strong>value</strong>:ecs.n2.medium)</p></td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:is_to_handle_rebalance_event</td><td align="center">false</td><td align="center">是否开启AWS容量再平衡</td><td align="center">AWS</td></tr><tr><td align="center">spotmax:is_to_handle_scaling_failure</td><td align="center">true</td><td align="center">是否开启接收伸缩失败信息处理</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:gurantee_living_mins</td><td align="center">0</td><td align="center">实例开启后不中断时长，最长设置60分钟，单位为分钟</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:buffer_mins</td><td align="center">1</td><td align="center">当设置不中断时间，误差值，建议1分钟，单位为分钟</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:ignore_tag</td><td align="center">false</td><td align="center">当tag-value为true时，maxGroup不管理此伸缩组</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:is_only_od_rep</td><td align="center">false</td><td align="center">只开od进行替换</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:od_least_live_mins</td><td align="center">15</td><td align="center">OD至少运行多长时间(Min)</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:alt_least_live_mins</td><td align="center">15</td><td align="center">额外机型至少运行多长时间(Min)</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:sd_delay_detach_secs</td><td align="center">30</td><td align="center">consul移除时间</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:k8s_delay_draining_secs</td><td align="center">90</td><td align="center">k8s移除时间</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:preaction_k8s_delay_draining_secs</td><td align="center">240</td><td align="center">主动优化时，被替换实例从k8s中drain的延迟时间(s)</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:pod_delay_detaching_secs</td><td align="center">18</td><td align="center">被替换Nodeshashan个运行的Pod移除AppLabel的延迟时间(s)</td><td align="center">AWS/ALI</td></tr><tr><td align="center">spotmax:warm_pool_start_up_duration_min</td><td align="center">1</td><td align="center">热池功能：实例开机多长时间后转换停止状态，单位为分钟</td><td align="center">AWS</td></tr><tr><td align="center">spotmax:warm_pool_update_frequency_min</td><td align="center">60</td><td align="center">热池功能：实例更新频率，单位为分钟</td><td align="center">AWS</td></tr><tr><td align="center">spotmax:warm_pool_min_size</td><td align="center">0</td><td align="center">热池功能：开启多少个OD实例，当设置为-1时，为伸缩组的最大值与期望值之差</td><td align="center">AWS</td></tr><tr><td align="center">spotmax:is_warm_pool_first</td><td align="center">false</td><td align="center">热池功能：是否优先从热池补偿实例</td><td align="center">AWS</td></tr><tr><td align="center">spotmax:az_rebalance</td><td align="center">null</td><td align="center"><p></p><p>自动控制AzRebalance。调整目标为各zone的总InService实例数均衡，不区分spot还是od（删除此Tag后需要人工设置Asg的AzRebalance状态); 取值"optimize" - 功能：在持续优化时，把新实例补充到实例数最少的AZ</p></td><td align="center">AWS</td></tr><tr><td align="center">spotmax:is_prefer_multiple_types</td><td align="center">true</td><td align="center">spot不足时，优先使用额外机型spot补偿，其次使用od</td><td align="center">AWS/ALI</td></tr></tbody></table>

**注：当启用 spotmax:k8s\_node\_drain\_option 时，建议将spotmax:detaching\_delay\_seconds 的tag-value设置为80-90之间，这样可以在保证新node ready情况下，将pod转移过去。**
