一、前言
OVS使用Linux内核自带的traffic-control机制进行流量控制以实现SDN QoS,一般的内核都会将"ingress qdisc"(Queueing Disciplines)编译在内。
ingress_policing_rate
这个网络接口最大的发包速率
ingress_policing_burst
最大发包率之外的额外发包能力,以应对突发流量
Openshift由于使用OVS作为SDN的底层,所以也可以在部署POD应用的时候配置速率限制,保证QoS目标。
本文使用iperf来测试在Openshift配置和没有配置QoS的时候的网络速率来展示Openshift的带宽控制能力。
载自https://blog.csdn.net/cloudvtech
二、实验一:没有带宽限制的POD部署
1. nginx部署文件nginx.yaml如下:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
nodeSelector:
nginx: nginx
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
2.在部署之后,在nginx的POD里面运行iperf服务端
apt-get update
apt-get install iperf
iperf -s # start iperf server inside the server POD
3.在同一project的另外一个POD里面运行iperf的客户端
iperf -c 10.129.2.52 -t 10
4.测试结果如下
服务端nginx POD内的带宽:
客户端的带宽:
都是达到了内部bridge的最高速率
载自https://blog.csdn.net/cloudvtech
三、实验二:配置10Mb进出带宽限制的POD部署
1.部署文件nginx2.yaml如下:
2.在部署之后,在nginx的POD里面运行iperf服务端
3.在同一project的另外一个POD里面运行iperf的客户端
4.测试结果
服务端nginx POD内的带宽:
客户端的带宽:
进出的传输速率都在10Mb左右
5.查看TC的配置
载自https://blog.csdn.net/cloudvtech
四、实验三:配置1024Mb进出带宽限制的POD部署
1.部署文件nginx3.yaml如下:
2.在部署之后,在nginx的POD里面运行iperf服务端
3.在同一project的另外一个POD里面运行iperf的客户端
4.测试结果
服务端nginx POD内的带宽:
5.查看TC的配置
五、Openshift SDN里面流控相关的代码