5.13. Kubernetes proxy performance test plan¶
- status
ready
- version
1.0
- Abstract
This test plan covers scenarios for Kubernetes proxy performance testing.
5.13.1. Test Plan¶
Kube-proxy(starting with k8s version 1.4) by default works in ‘iptables’ mode and does not proxy the traffic. Old ‘userspace’ mode is left for backward compatibility only. There is opinion, that even most recent version of kube-proxy is not as effective, as it can be due ip-tables mode has its own disadvantages and possible lack of performance. We want to check it.
5.13.1.1. Test Environment¶
5.13.1.1.1. Preparation¶
The test plan is executed against Kubernetes deployed on bare-metal nodes.
5.13.1.1.2. Environment description¶
The environment description includes hardware specification of servers, network parameters, operation system and OpenStack deployment characteristics.
5.13.1.2. Test Case #1: Performing kube-proxy¶
5.13.1.2.1. Description¶
In this test case we investigate how number of services affects Kubernetes proxy performance.
Script code/kubeproxy/test_kubeproxy.py
will create Kubernetes
services based on file code/kubeproxy/service.yaml
. After that,
will make request to this services using Locust (
code/locustfile.py
). Results will show response time.
5.13.1.2.2. Parameters¶
Case group 1:
Parameter name |
Value |
---|---|
number of Services |
100, 200, …, 1400 |
Case group 2:
Parameter name |
Value |
---|---|
number of Services |
10, 50 |
number of Pods |
1, 3, 5 |
5.13.1.2.3. List of performance metrics¶
Parameter |
Description |
---|---|
MIN_RESPONSE |
time in ms |
MAX_RESPONSE |
time in ms |
AVERAGE_RESPONSE |
time in ms |
5.13.2. Reports¶
- Test plan execution reports: