在线业务对网络质量敏感、对网络延迟指标要求高,而离线业务对网络带宽占用大,如果两种业务在一起运行而不做任何控制,很可能会出现由于争抢网络资源所导致的服务高延迟和服务不可用。您可自定义Pod的出入方向带宽及数据包优先级,以实现对网络资源更细粒度的控制,降低服务互相挤占带宽的影响。
Pod带宽限制
您可通过Kubernetes标准Pod Annotations对Pod出入方向的带宽进行限制:
Annotation | 说明 |
| Pod入方向的带宽限制,示例值为10Mbps。 |
| Pod出方向的带宽限制,示例值为10Mbps。 |
Terway的配置为共享ENI模式,并启用了IPvlan+eBPF网络加速模式时,不支持配置
kubernetes.io/ingress-bandwidth
注解。在DataPathV2网络加速模式下,Terway从v.1.13.0版本开始支持Ingress带宽限制。且所有带宽限制只对进出节点的流量生效,同节点流量不生效。
在Terway v1.3.0之前的版本创建的集群需要修改Terway配置以启用该功能。具体操作,请参见下方的说明。
早于Terway v1.3.0创建的集群
如果您的集群在创建时使用了Terway v1.3.0之前的版本,您需要修改Terway配置,以启用上方的Annotation。
数据包优先级控制策略
默认情况下,网卡队列在发送数据包时执行先入先出的规则。Terway支持对Pod的数据包配置优先级控制策略,在流量高峰时也可以保证部分高优先级服务的数据包优先收发,从而改善延迟。
此功能默认不开启,请修改Terway配置以启用。
此功能不支持开启了DataPathV2网络加速模式的集群。
此功能不支持独占 ENI 模式的节点。
启用优先级控制后,ENI网卡队列将替换为mq+prio。
Terway支持通过以下Pod Annotations指定Pod数据包的优先级。
Annotation | 说明 |
k8s.aliyun.com/network-priority: "guaranteed" | 最高优先级,适用于延迟敏感业务 |
k8s.aliyun.com/network-priority: "best-effort" | 中等优先级,适用于普通业务 |
k8s.aliyun.com/network-priority: "burstable" | 最低优先级,适用于需要大带宽但延迟不敏感的业务 |