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: