The configmap cpln-byok-default in the kube-system namespace shows all available configuration options and their default values.

You can read the values in the configmap by running this kubectl command against the cluster:

kubectl get configmap -n kube-system cpln-byok-default -o yaml

Usage

To modify the configuration, update the configmap cpln-byok-current in the kube-system namespace.

Its recommended to store settings in a git repo or CI system so that they can be applied automatically for each new cluster.

Example cpln-byok-default configmap

{
  "actuator": {
    "minCpu": "50m",
    "maxCpu": "1001m",
    "minMemory": "200Mi",
    "maxMemory": "500Mi",
    "logLevel": "info",
    "env": {
      "CACHE_PERIOD_DATA_SERVICE": "600",
      "LABEL_NODES": "false"
    }
  },
  "common": {
    "pdb": {
      "minAvailable": 0
    }
  },
  "internalDns": {
    "minCpu": "1m",
    "maxCpu": "1001m",
    "minMemory": "100Mi",
    "maxMemory": "512Mi"
  },
  "istio": {
    "istiod": {
      "replicas": 1,
      "maxCpu": "1001m",
      "minMemory": "100Mi",
      "maxMemory": "2500Mi",
      "pdb": 0
    }
  },
  "logSplitter": {
    "minCpu": "1m",
    "maxCpu": "200m",
    "minMemory": "10Mi",
    "maxMemory": "256Mi",
    "memBufferSize": "128M",
    "perPodRate": 10000
  },
  "monitoring": {
    "minMemory": "100Mi"
  },
  "redis": {
    "minCpu": "10m",
    "maxCpu": "2001m",
    "minMemory": "100Mi",
    "maxMemory": "1000Mi",
    "storage": "8Gi"
  }
}

General Configurations

Common configuration settings that may be available for each component, check the cpln-byok-default configmap for availability.

PropertyTypeDescription
minCpustringMinimum CPU allocation
maxCpustringMaximum CPU allocation
minMemorystringMinimum memory allocation
maxMemorystringMaximum memory allocation
logLevelstringLogging level for the actuator
envkey: string[]Optional environment variables for the component
targetPercentnumberTarget percentage for Horizontal CPU autoscaling
pdb.minAvailablenumberMinimum number of available pods for the pod disruption budget
replicasnumberNumber of replicas

Additional Options

Actuator

Actuator is responsible for syncing the configuration between the Control Plane API and the cluster. It has several environment variables that will control its behavior.

Actuator Settings

Log Splitter

Configuration for component that forwards logs for workloads to Control Plane.

PropertyTypeDescription
memBufferSizestringMemory buffer size
perPodRatenumberMax log records per second before rate limit; per pod

Redis

Configuration for a Redis instance that is used by Control Plane.

PropertyTypeDescription
storagestringStorage allocation for Redis in kubernetes storage capacity format. examples: 1Gi, 500Mi