Configuring Kubernetes Locations

Private Locations on your Kubernetes cluster

Kubernetes

To use Kubernetes private locations, the control plane must have access to your Kubernetes cluster.

If the control plane is launched from outside the cluster, you have to give access to a valid Kubernetes file. See Organizing Cluster Access Using kubeconfig Files. The .kube folder can be mounted in /app, and absolute path must be set in a KUBECONFIG environment variable (e.g. KUBECONFIG=/app/.kube/config)

If the control plane is launched from inside the cluster, please refer to our Kubernetes Control plane deployment documentation

control-plane {
  # Control plane token
  token = "cpt_example_c7oze5djp3u14a5xqjanh..."
  # Control plane description (optional)
  description = "my control plane description"
  # Locations configurations
  locations = [
    {
      # Private location ID, must be prefixed by prl_, only consist of numbers 0-9, 
      # lowercase letters a-z, and underscores, with a max length of 30 characters
      id = "prl_private_location_example"
      # Private location description (optional)
      description = "Private Location on Kubernetes"
      # Private location type
      type = "kubernetes"
      # Namespace (optional, default based on kubernetes configuration)
      namespace = "gatling"
      # Certified image configuration
      image {
        type = certified
        java = 17 # Possible values : "8", "11" or "17"
      }
      # Custom image configuration
      # image {
      #   type = custom
      #   image = gatlingcorp/frontline-injector:17
      # }
      # Clean up finished jobs resources after given time (optional)
      ttl-after-finished = 10 minutes
      # Labels of initiated resources (optional)
      labels {
        # ExampleKey = ExampleValue
      }
      # Annotations of initiated resources (optional)
      annotations {
        # ExampleKey = ExampleValue
      }
      # Environment variables of initiated pods (optional)
      environment-variables {
        # ExampleKey = ExampleValue
      }
      # Tolerations (optional)
      tolerations = [
        {
          key = key1
          operator = Equal
          # Value is not needed when effect is Exists (optional)
          value = value1 
          # An empty effect matches all effects with key (optional)
          effect = NoSchedule
        }
      ]
    }
  ]
}

Edit this page on GitHub