k8s.io/perf-tests/clusterloader2@v0.0.0-20240304094227-64bdb12da87e/testing/list/README.md (about)

     1  ## List load test
     2  
     3  List load test perform the following steps:
     4  - Create configmaps and secrets in a set of namespaces.
     5    - The namespaces used here are managed by CL2.
     6    - The number of namespaces is derived from `NODES_PER_NAMESPACE`. Namespaces will be 2, if there are no nodes.
     7    - The size of a single configmap and secret can be speficed using `CL2_LIST_CONFIG_MAP_BYTES` and `CL2_LIST_SECRET_BYTES` respectively.
     8    - The number of configmaps and secrets can be specified using `CL2_LIST_CONFIG_MAP_NUMBER` and `CL2_LIST_SECRET_NUMBER` respectively.
     9  - Create RBAC rules to allow lister pods to access these configmaps and secrets
    10  - Create lister pods using deployment in a separate namespace to list configmaps and secrets.
    11    - The namespace is created using `namespace.yaml` as a template, but its lifecycle is managed by CL2.
    12    - The number of replicas for the lister pods can be specified using `CL2_LIST_BENCHMARK_PODS`.
    13    - Each lister pod will maintain `CL2_LIST_CONCURRENCY` number of inflight list requests.
    14  - Measurement uses [`APIResponsivenessPrometheusSimple`](https://github.com/kubernetes/perf-tests/blob/master/clusterloader2/README.md) to meansure API latency for list configmaps and secrets calls.
    15  
    16  The lister pods leverage https://github.com/kubernetes/perf-tests/tree/master/util-images/request-benchmark to create in-cluster list load.