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

list of test metrics to be collected during this test
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: