# 实现K8S中宽带速率不一致

## 简介
在Kubernetes(K8S)中,有时候我们需要模拟不同节点间网络的宽带速率不一致的情况,以便更好地测试应用的稳定性和性能。本文将指导您如何在K8S中实现宽带速率不一致。

## 流程概述
下面是实现宽带速率不一致的流程:

| 步骤 | 操作 |
| --- | --- |
| 1 | 创建两个不同的namespace用于模拟两个节点 |
| 2 | 在namespace中创建deployment |
| 3 | 通过tc命令实现不同节点间宽带速率不一致 |
| 4 | 进行测试验证 |

## 具体步骤

### 步骤1:创建两个不同的namespace
首先,我们需要创建两个不同的namespace,分别用于模拟两个节点。

```bash
kubectl create namespace node1
kubectl create namespace node2
```

### 步骤2:创建deployment
在各自的namespace中创建一个deployment,用于模拟两个节点。

```bash
kubectl apply -f deployment-node1.yaml -n node1
kubectl apply -f deployment-node2.yaml -n node2
```

### 步骤3:使用tc命令实现不同节点间宽带速率不一致
在K8S节点上执行以下命令,让node1的出口带宽为1Mbps,node2的出口带宽为10Mbps:

```bash
# 设置node1的出口带宽为1Mbps
tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms
# 设置node2的出口带宽为10Mbps
tc qdisc add dev eth0 root tbf rate 10mbit burst 32kbit latency 400ms
```

### 步骤4:进行测试验证
现在,您可以在两个节点上启动应用,并进行通信测试,观察宽带速率不一致对应用稳定性和性能的影响。

## 总结
通过以上步骤,您已经成功在K8S中实现了宽带速率不一致。在测试完成后,不要忘记回复原来的网络设置,以免对其他应用产生影响。

希望这篇文章能帮助您了解如何在K8S中实现宽带速率不一致。如果有任何疑问或问题,请随时与我联系。祝您学习进步!