5.10. Kubernetes density testing

status:ready
version:1.0
Abstract:This test plan covers scenarios of density testing of Kubernetes

5.10.1. Test Plan

5.10.1.1. Test Environment

5.10.1.1.1. Preparation

The test plan is executed against Kubernetes deployed on bare-metal nodes.

5.10.1.1.2. Environment description

The environment description includes hardware specification of servers, network parameters, operation system and OpenStack deployment characteristics.

5.10.1.2. Test Case #1: Maximum pods per node

5.10.1.2.1. Description

Kubernetes by default limits number of pods running by the node. The value is chosen by community and since version 1.4 equals to 110 (k8s_max_pods).

The goal of this test is to investigate system behavior at default limit and find out whether it can be increased or not. In particular we are interested in the following metrics: pod startup time during mass start (e.g. when replication controller is scaled up) and node’s average load.

From manual experiments it is observed that pod starts functioning before Kubernetes API reports it to be in running state. In this test case we are interested to investigate how long does it takes for Kubernetes to update pod status.

5.10.1.2.2. List of performance metrics

list of test metrics to be collected during this test
Parameter Description
POD_COUNT Number of pods
POD_FIRST_REPORT Time taken by pod to start and report
KUBECTL_RUN Time for all pods to be reported as running
KUBECTL_TERMINATE Time to terminate all pods

5.10.1.3. Test Case #2: Measure Kubelet capacity

5.10.1.3.1. Description

The goal of this test is to investigate Kubelet capacity. For this, rerun test case #1 for different number of nodes.

5.10.1.3.2. List of performance metrics

list of test metrics to be collected during this test
Parameter Description
POD_COUNT Number of pods
NODE_COUNT Number of nodes
POD_FIRST_REPORT Time taken by pod to start and report
KUBECTL_RUN Time for all pods to be reported as running
KUBECTL_TERMINATE Time to terminate all pods

5.10.2. Reports

Test plan execution reports: