Configure agents
You can change the default agents configuration in the datalore.values.yaml file.
Configure agents
Specify configuration parameters for your agents.
Under the
agentsConfig
key, fill in the fields to define agent types (such as Basic and Large machines in the cloud version of Datalore). It has the following schema:agentsConfig: k8s: namespace: <(Optional) namespace identifier> instances: - id: <Any string used as a unique identifier of this particular instance> label: <Instance name> description: <Short description of what the instance is> yaml: <Kubernetes config of Pod to be used for the instance> default: <(Optional) whether this instance is used by default> minAllowed: <(Optional) minimum number of instances to be preserved in the pool> maxAllowed: <(Optional) maximum number of instances to be preserved in the pool> - id: <Another type with the same schema as above> ...If you have Datalore installed in a namespace other than
default
, you must specify it under thenamespace
field.Each instance definition has the following fields:
Mandatory fields
id: basic-agent
Specifies the unique id for the instance.
default: true
Specifies whether the instance is default. Make sure exactly one instance has this parameter set to
true
.label: "k8s-base"
Specifies the instance name shown in the UI.
description: "k8s agent"
Specifies the instance description shown in the UI.
yaml: "yaml code here"
Valid kubernetes pod YAML describing a Datalore agent. See an example below.
Optional fields
minAllowed: 1
Specifies the minimum number of pre-warmed (pooled) agents. Datalore will keep at least that many started agents that are not yet assigned to any particular computation. When any notebook is opened, Datalore assigns one of the pooled agent to that notebook and starts another agent to refill the pool. It might be useful to set non-zero value to
minAllowed
if initialization of your agents takes a lot of time.maxAllowed: 1
Specifies the maximum number of pre-warmed (pooled) agents. If at any moment the number of agents in the pool exceeds
maxAllowed
, some of them will be stopped.The example below shows what a default Datalore agent YAML looks like.
agentsConfig: k8s: instances: - id: basic-agent ... yaml: apiVersion: v1 kind: Pod metadata: name: k8s-agent labels: podType: dataloreKubernetesAgent spec: enableServiceLinks: false containers: - name: agent image: jetbrains/datalore-agent:2023.1 securityContext: privileged: true env: - name: MAX_HEAP_SIZE value: 512m volumeMounts: - mountPath: /etc/datalore/logback-config name: logback-config resources: limits: cpu: "1" memory: "2048Mi" requests: cpu: "200m" memory: "2048Mi" volumes: - name: logback-config configMap: name: datalore-logback-config(Optional) Configure collecting logs from Datalore and agents.
We provide the default logging configuration, which prints requested information to
stdout
, but you can customize it under thelogbackConfig
key. Find more information on how to configure Logback in the official documentation.