k8s.io/perf-tests/clusterloader2@v0.0.0-20240304094227-64bdb12da87e/testing/l4lb/config.yaml (about)

     1  # LOAD_BALANCER_BACKEND_SIZE specifies the number of backend pods behind each LB
     2  {{$LOAD_BALANCER_BACKEND_SIZE := DefaultParam .CL2_LOAD_BALANCER_BACKEND_SIZE 5}}
     3  # LOAD_BALANCER_REPLICAS specifies the number of Load balancer type service
     4  {{$LOAD_BALANCER_REPLICAS := DefaultParam .CL2_LOAD_BALANCER_REPLICAS 3}}
     5  # LOAD_BALANCER_TYPE specifies the type of L4 LB created. Valid values are "INTERNAL" and "EXTERNAL"
     6  {{$LOAD_BALANCER_TYPE := DefaultParam .CL2_LOAD_BALANCER_TYPE "EXTERNAL"}}
     7  # $EXTERNAL_TRAFFIC_POLICY specifies the externalTrafficPolicy on LB type service. Valid values are "Cluster" and "Local"
     8  {{$EXTERNAL_TRAFFIC_POLICY := DefaultParam .CL2_EXTERNAL_TRAFFIC_POLICY "Cluster"}}
     9  # $NODE_SYNC_TIMEOUT specifies the timeout to wait for nodesync to complete
    10  {{$NODE_SYNC_TIMEOUT := DefaultParam .CL2_NODE_SYNC_TIMEOUT "30m"}}
    11  # L4LB_SYNC_TIMEOUT specifies the timeout to wait for LB creation or deletion to complete
    12  {{$L4LB_SYNC_TIMEOUT := DefaultParam .CL2_L4LB_SYNC_TIMEOUT "30m"}}
    13  
    14  # adding a fixed value for first version of the test, rate of pod creation not a concern yet.
    15  {{$lbQPS := 20}}
    16  {{$namespaces := 1}}
    17  
    18  name: l4lbload
    19  namespace:
    20    number: {{$namespaces}}
    21  tuningSets:
    22  - name: LBConstantQPS
    23    qpsLoad:
    24      qps: {{$lbQPS}}
    25  steps:
    26  - name: Initialize Measurements
    27    measurements:
    28    - Identifier: LBServiceCreationLatency
    29      Method: ServiceCreationLatency
    30      Params:
    31        action: start
    32        labelSelector: test = l4lb-load
    33        waitTimeout: {{$L4LB_SYNC_TIMEOUT}}
    34    - Identifier: WaitForRunningDeployments
    35      Method: WaitForControlledPodsRunning
    36      Params:
    37        action: start
    38        apiVersion: apps/v1
    39        kind: Deployment
    40        labelSelector: test = l4lb-load
    41        operationTimeout: 15m
    42  - name: Creating LBs
    43    phases:
    44    - namespaceRange:
    45        min: 1
    46        max: {{$namespaces}}
    47      replicasPerNamespace: {{$LOAD_BALANCER_REPLICAS}}
    48      tuningSet: LBConstantQPS
    49      objectBundle:
    50      - basename: lb-service
    51        objectTemplatePath: service.yaml
    52        templateFillMap:
    53          DeploymentBaseName: lb-dep
    54          ExternalTrafficPolicy: {{$EXTERNAL_TRAFFIC_POLICY}}
    55          LoadBalancerType: {{$LOAD_BALANCER_TYPE}}
    56      - basename: lb-dep
    57        objectTemplatePath: dep.yaml
    58        templateFillMap:
    59          NumReplicas: {{$LOAD_BALANCER_BACKEND_SIZE}}
    60  - name: Wait for LBs to be ready
    61    measurements:
    62    - Identifier: LBServiceCreationLatency
    63      Method: ServiceCreationLatency
    64      Params:
    65        action: waitForReady
    66    - Identifier: WaitForRunningDeployments
    67      Method: WaitForControlledPodsRunning
    68      Params:
    69        action: gather
    70  - name: Measure NodeSync latency
    71    measurements:
    72    - Identifier: NodeSyncLatency
    73      Method: LoadBalancerNodeSyncLatency
    74      Params:
    75        action: measure
    76        labelSelector: test = l4lb-load
    77        waitTimeout: {{$NODE_SYNC_TIMEOUT}}
    78  - name: Deleting LBs
    79    phases:
    80    - namespaceRange:
    81        min: 1
    82        max: {{$namespaces}}
    83      replicasPerNamespace: 0
    84      tuningSet: LBConstantQPS
    85      objectBundle:
    86      - basename: lb-service
    87        objectTemplatePath: service.yaml
    88      - basename: lb-dep
    89        objectTemplatePath: dep.yaml
    90  - name: Wait for LBs to be deleted
    91    measurements:
    92    - Identifier: LBServiceCreationLatency
    93      Method: ServiceCreationLatency
    94      Params:
    95        action: waitForDeletion
    96  - name: Gather Measurements
    97    measurements:
    98    - Identifier: LBServiceCreationLatency
    99      Method: ServiceCreationLatency
   100      Params:
   101        action: gather
   102    - Identifier: NodeSyncLatency
   103      Method: LoadBalancerNodeSyncLatency
   104      Params:
   105        action: gather